# Assure – formal verification for every PR

> Source: <https://symbolia.ai/>
> Published: 2026-10-23 01:21:49+00:00

One command fetches the declaration, your requirements.md and the workflow. The agent opens the first pull request, already checked.

# Your AI writes the code.

Assure checks it before it merges.

holdsnot establisheddisproven

Tell your agent

```
Set up Assure: follow https://github.com/Symbolia-Assurance/assure-action/blob/v0.1.2/skills/assure/SKILL.md
```

## [Assure checks itself](#assure-checks-itself)

Assure checks itself · release fa579391 · 2026-10-22 · 51 of 61 hold · 8 not established · 2 disproven

Premised: A1, A4 and G5.

**See it in action.** [A live demo: three pull requests, one caught bug](https://github.com/Symbolia-Assurance/assure-demo) · [One prompt to an agent sets up Assure](https://github.com/Symbolia-Assurance/assure-install-demo) · [What Assure posts on your pull request](https://symbolia.ai/how-it-works#what-assure-posts-on-your-pull-request)

## [Verify Assure](#verify-assure)

1.  0 false alarms on ten real Flask apps. A broken rule reported on code that keeps it, on Free and on Premium. On the same clean code Bandit raised 275 findings and CodeQL 11 while catching 0 planted flaws. [See the repo](https://github.com/Symbolia-Assurance/assure-benchmark)
2.  Planted auth flaw caught: Free 5 / 10. Bandit 0. CodeQL 0. One unguarded route planted in each app. [Extend it yourself](#assure-improves-continuously) . Semgrep is not published (rules licence); run it with run.sh.[See the repo](https://github.com/Symbolia-Assurance/assure-benchmark)
3.  Checked on real, public code. [microblog](https://github.com/miguelgrinberg/microblog)[PR](https://github.com/Symbolia-Assurance/setup-qual-microblog/pull/5) ,[flasky](https://github.com/miguelgrinberg/flasky)[PR](https://github.com/Symbolia-Assurance/setup-qual-flasky/pull/5) ,[flask-base](https://github.com/hack4impact/flask-base)[PR](https://github.com/Symbolia-Assurance/setup-qual-flask-base/pull/5) ,[realworld](https://github.com/gothinkster/flask-realworld-example-app)[PR](https://github.com/Symbolia-Assurance/setup-qual-realworld/pull/5) ,[Flask-User starter](https://github.com/lingthio/Flask-User-starter-app)[PR](https://github.com/Symbolia-Assurance/setup-qual-flask-user-starter/pull/5) ,[cookiecutter-flask demo](https://github.com/jamescurtin/demo-cookiecutter-flask)[PR](https://github.com/Symbolia-Assurance/setup-qual-cookiecutter-demo/pull/39) ,[flask-jwt-auth](https://github.com/oleg-agapov/flask-jwt-auth)[PR](https://github.com/Symbolia-Assurance/setup-qual-jwt-restful/pull/5) ,[REST-tutorial](https://github.com/miguelgrinberg/REST-tutorial)[PR](https://github.com/Symbolia-Assurance/setup-qual-rest-tutorial/pull/5) ,[flaskr](https://github.com/pallets/flask/tree/main/examples/tutorial)[PR](https://github.com/Symbolia-Assurance/setup-qual-flaskr/pull/7) ,[flask-bones](https://github.com/cburmeister/flask-bones)[PR](https://github.com/Symbolia-Assurance/setup-qual-flask-bones/pull/5) .Pinned commits and plants in the [benchmark repo](https://github.com/Symbolia-Assurance/assure-benchmark) .
4.  First PR comment in 3.6 minutes. Fresh agents, from the one-liner, ten apps. [See the install demo](https://github.com/Symbolia-Assurance/assure-install-demo) and[the live demo](https://github.com/Symbolia-Assurance/assure-demo)
5.  66x internal development acceleration. Reviewed changes merged a day: from 1 to a median of 66 (peak 130).

## [Assure improves continuously](#assure-improves-continuously)

1. **Build an adapter bridge.**
2. **State a fact only you know.**
3. **Request coverage.**

## [Get started for free](#get-started-for-free)

Free to start. Premium USD 20 a month. Pro USD 200 a month. Enterprise for larger codebases.

Formal verification used to take specialists weeks per system.

Assure can build a formal model on every release, automatically.

See what it can establish for your code.
