
ProdVerdict
Stripe says paid. Your app might disagree.
6 followers
Stripe says paid. Your app might disagree.
6 followers
Your billing says paid. Your app might disagree. ProdVerdict checks production contracts for SaaS: access, config, migration, webhooks, restore, Clerk gates. Rules only. No LLM. Secrets stay on your runner.
npx prodverdict demo
npx prodverdict scan
Then wire one contract. CLI, GitHub Action, MCP. MIT. Private repos free.














Quick v0.6 update for anyone trying this today:
MCP + Cursor rule in one command:
Still no API keys needed for the revenue-leak demo in the SDK examples folder.
1 month free Pro with PRODUCTHUNT at checkout → prodverdict.com
Shipped v0.10 today.
The bug that kept getting me: user pays, Stripe looks fine, app still shows the paywall. `has_paid_access` is false in Postgres. Webhook returned 200. Tests passed because Stripe is mocked.
ProdVerdict checks that intersection in CI. Fixed rules. No LLM. Missing credentials fail the run instead of skipping quietly.
Try it with no API keys:
npx prodverdict@0.10.0 demo
You want FAIL. Active subscription, DB flag still false.
Then wire your repo:
npx prodverdict init --mcp --cursor-rule
Free CLI + GitHub Action on private repos. Stripe/Paddle + DB reads stay on your runner.
Code PRODUCTHUNT for a free month of Pro at checkout.
What billing bug did an agent ship for you?
Stripe/Paddle and Postgres reads run in your CLI or CI runner, not on our servers. The dashboard stores pass/fail and findings metadata only.
The demo uses bundled fixture data. No real subscription rows.
Big update on ProdVerdict today — v0.11 through v0.13.
The bug I keep hitting: Stripe says paid. Postgres says has_paid_access = false. Webhook returned 200. CI stayed green because Stripe is mocked.
ProdVerdict compares live billing to your app DB on a schedule. Rules only. No LLM in the check path. Missing keys = fail, not silent pass.
What's new since the last PH push:
v0.11 — Stripe Entitlements migration verifier. Moving off local DB flags? The entitlements-migration contract catches drift both ways. Plus `prodverdict scheduled` and hourly drift as the default story (not just PR gates).
v0.12 — Actually install it. `npx prodverdict setup` wizard, `prodverdict status`, `scheduled --install` writes the GitHub workflow in one shot.
v0.13 — Agent-first. Tell Cursor "Set up ProdVerdict for this repo" or run:
Bootstrap writes config, workflow, MCP, cursor rule, and team skills under .cursor/skills/.
Try the bug in 5 seconds, no keys:
MIT engine. Free on private repos. GitHub Action + CLI + MCP.
What billing mismatch did you ship last month?
Where your data goes:
Stripe/Paddle + Postgres reads run in your CLI or CI runner. We don't pull subscription rows to our servers.
The demo uses bundled fixtures. No real customer data.
Cloud dashboard stores pass/fail + findings metadata only.
Bootstrap can read .env.local for STRIPE_SECRET_KEY / DATABASE_URL if you already have them. Nothing gets committed.
v0.6 is live — built for Cursor and coding agents.
Same deterministic engine (zero LLM in checks). New agent workflow:
• doctor — credential/config diagnostics before full checks
• --format agent — stable JSON (summary, nextSteps) for agents
• MCP — doctor, check_all_contracts, fixture mode, setup prompts
• GitHub Action v0.6.0 — PR comments now show the right contract name
Billing secrets stay on your machine. Dashboard only stores verdict metadata.
Agent setup: https://prodverdict.com/agents
Action: https://github.com/marketplace/actions/prodverdict
PH offer: 1 month free Pro at prodverdict.com — code PRODUCTHUNT at checkout.
No Stripe or DB keys? Try the revenue-leak scenario:
You should get VERDICT: FAIL — active subscription in billing, has_paid_access=false in the DB.
v0.6 adds agent/MCP tooling on top of the same checks. Guide: https://prodverdict.com/agents
Shipped v0.9 today.
I kept hitting the same failures in agent-built SaaS: tests green, PR merged, then Stripe says active while Postgres has has_paid_access = false. Or a migration locks the users table. Or a webhook never checks signatures.
ProdVerdict runs read-only checks in CI, locally, or over MCP. Fixed rules, no LLM. Missing credentials fail the run instead of skipping.
Six contracts: access, config, migration, boundary, webhook, restore.
No API keys needed for the demo:
GitHub Action: contract: all on prodv-dev/prodverdict-action@v0.9.0
Agents setup: https://prodverdict.com/agents
Code PRODUCTHUNT at checkout for a free month of Pro.
What prod bug did an agent ship for you?
I built ProdVerdict because unit tests stay green while billing and the app disagree
.
Run this with no API keys:
npx prodverdict demo
You should see FAIL in a few seconds: canceled in billing, still Pro in the app.
Then scan your own repo, still without credentials:
npx prodverdict scan
This is not AI code review. Fixed rules. PASS, WARN, or FAIL. Secrets stay on your machine or in CI.
Shipped contracts: Access, Config, Migration, Boundary, Webhook, Restore, Clerk Gates, and Entitlements migration.
MIT. CLI, GitHub Action, and MCP.
If you try the demo, tell me which contract you need next.
Fastest path after landing here:
1. npx prodverdict demo
2. npx prodverdict scan
3. npx prodverdict setup
Demo shows the FAIL. Scan tells you whether it applies to your repo. Setup wires one contract.