The CLI and its free rules are open source.
The corpus that catches the rest is what you pay for.
The CLI and its free rules, the outage core and credential hygiene, are open source. The Free plan runs the same rules in the hosted service with the run log, PR comments and notifications. Paid plans add the rest of the corpus, live-schema context, stored connections, team policy and Insights.
Startup
$29/month
Flat per team, never per seat, self-serve, no sales calls
- Everything in Free
- The full corpus: every rule, on every check
- Live-schema (tier-2) refinement: table sizes, traffic, foreign keys
- 2 stored connections
- Insights over the last 30 days
- Email support
Team
$99/month
Govern it as a team, protect more surfaces
- Everything in Startup
- Team policy: the block threshold and per-rule overrides, on every connected check
- 8 stored connections
- Insights over the last year
- Migration rehearsal: how long each change would block traffic on your actual tables, in the PR
- Database health: opt any connection into a weekly audit for unused, redundant and invalid indexes, unindexed foreign keys and unanalysed tables, or run one on demand
- Hosted MCP server: the verifier as a tool inside Claude, Cursor and agent frameworks
- Email support
Scale
$199/month
Every database, all of the history
- Everything in Team
- 25 stored connections
- Insights, unlimited
- Priority support
Enterprise
Custom
Your limits, your terms, your servers
- Everything in Scale
- On-prem: one executable, one config file, your Postgres. Nothing leaves your network
- GitHub Enterprise Server sign-in
- Custom connection limits, set by us for you
- Invoicing & procurement support
- Direct line to the team
Prices in USD, flat per team. VAT is added at checkout where it applies; EU businesses with a VAT number are not charged VAT.
Free, forever
$0
For every individual and open-source project
- Open-source CLI with the free rules, locally
- The free rules, in the cloud: run log, PR comments, notifications
- Sign-in, team and tokens, the GitHub Action, findings feedback
- Unlimited checks: validation is never metered
- Insights start on Startup: the run log itself is kept on Free
What the free rules check
18 of the 68 SQL rules ship in the bolvrk CLI, plus the credential scanner. The other rules run only on Startup and above, via --remote and the GitHub Action.
DROP COLUMN with live foreign-key referencesBV001 · DS ADD COLUMN NOT NULL without defaultBV002 · CN Non-concurrent index creationBV003 · LK Column type change forcing a table rewriteBV004 · RW Rename or drop breaking the deploy windowBV005 · DW Non-transactional statement mixed into a multi-statement migrationBV006 · TX Foreign key added without NOT VALIDBV008 · CN DROP with CASCADE hitting unexpected dependentsBV010 · DS SET NOT NULL scanning the table under ACCESS EXCLUSIVEBV011 · LK TRUNCATE in a migrationBV013 · DS Unbounded UPDATE or DELETEBV014 · DS VACUUM FULL / CLUSTER / REINDEX rewriting under full lockBV015 · LK DROP INDEX without CONCURRENTLYBV016 · LK Role password set in plaintext by the migrationBC001 · PC Foreign server, user mapping or subscription created with an embedded credentialBC002 · PC Connection string with an embedded password in a string literalBC003 · PC API key, access token or private key in a string literalBC004 · PC Secret-named column given a literal valueBC005 · PC Secret-named setting assigned a literal valueBC006 · PC
Straight answers about your data and your bill
Does my data leave my infrastructure?
Your migration SQL is analyzed and stored with your check history. Your database is different: tier-2 checks open a short-lived, read-only connection to a shadow database, read catalog metadata (table names, row estimates, indexes, never rows), and disconnect. Nothing from your database is retained. The security page documents the exact boundary.
Is the CLI really open source?
Yes: the CLI and every free rule listed above are Apache-2.0, source and all. The bolvrk package on npm bundles them with the engine core they run on, which is source-available under the Functional Source License (FSL-1.1): you can read, run and self-host it, but not build a competing service on it, and each version becomes Apache-2.0 two years on. LICENSING.md spells out the split: the CLI and the free rules are Apache-2.0, the engine core is source-available under the FSL, and the rest of the corpus is under the Bolvrk Commercial License and runs only in the hosted service on a paid plan.
Can I use it without the hosted service at all?
Yes. The CLI runs the free rules locally, the outage core and credential hygiene, listed above, with JSON output for scripting, and it never phones home. The rest of the corpus and tier-2 live-schema context need the hosted service on Startup or above, via --remote or the GitHub Action.
On Free, what happens when a migration trips a paid rule?
Nothing is reported for it. A Free team's checks run the free rules only, and the check page says exactly that, which rules ran, and that the rest of the corpus did not. Findings from the free rules still land in the run log and on the pull request; upgrade to Startup and the next check runs the full corpus.
Can I just fix findings with my own AI?
Yes: that is the point. Point your agent at bolvrk check --json and it has a deterministic verifier to iterate against, free, forever: your model proposes, our checker judges. Validation is never metered, whoever's AI is on the other side.
What do rehearsal and database health add on Team?
Both use the stored connection you already have and read structure and counters only, never rows. Migration rehearsal puts a line under each lock or rewrite finding saying how long it would block traffic on your actual table, scaled from the published benchmark by the live row count, in the PR and on the check page. Database health is opt-in per connection: switch it on and once a week the schema is audited for unused, redundant and invalid indexes, foreign keys with no index, constraints left NOT VALID and tables never analysed, with the result in the run log and on your notification channels. A Health button runs one on demand. Nothing runs against your database beyond the same read-only snapshot a connected check takes.
Do the prices include VAT?
No: prices are in USD and exclude VAT. EU businesses with a valid VAT number are invoiced under the reverse-charge mechanism, so no VAT is added; everyone else is charged VAT at the applicable rate. Enter your VAT number at checkout.
What happens if we stop paying?
The team drops to Free: checks run the free rules only, and the run log, PR comments and notifications keep working. Nothing is deleted, your check history stays, and stored connections are kept but not used until you subscribe again. The CLI keeps working forever; it is open source and never needed a subscription.
Start free. Stay free if that's all you need.
Startup is there when your migrations need the full corpus and your real schema behind every check; Team when you want to govern it together.
Set up your team