Pricing Audit
Audits a codebase for gaps between what a SaaS advertises in its pricing tiers and what's actually enforced in code, then proposes the missing checks and provisions the matching Stripe catalog.
Overview
A pricing page is a promise — "Growth tier includes 3 projects" — and nothing automatically checks that the code actually enforces it. That gap is usually invisible until a customer notices it first, either by exploiting a limit that was never enforced, or by hitting a limit the marketing page never mentioned.
Pricing Audit connects a read-only GitHub repo and a restricted-scope Stripe key, then traces every advertised tier and limit to its real call site in the code. Where enforcement is missing or wrong, it proposes what to build and — distinctively — can provision the matching Stripe product/price catalog directly.
Features
- Connects a read-only GitHub repo and a restricted-scope Stripe key
- Scans the codebase and traces every advertised pricing tier/limit to its real enforcement call site
- Flags exactly where enforcement is missing, wrong, or merely documented but not enforced
- Proposes new pricing logic from scratch when none exists yet, cited to real code
- Provisions the matching Stripe product/price catalog directly from audit results
- Generates a paste-ready implementation prompt for a coding agent
- Runs as a GitHub Action for CI drift checks on every pull request
- Sample report available without connecting a repo, to see the output format first
Technologies
- Next.js 16 (App Router), React 19
- Drizzle ORM + Postgres
- better-auth — accounts
- Stripe — catalog provisioning and billing
- GitHub App + Octokit — repo access and PR/Action integration
- Inngest — background job orchestration for longer audits
- AI SDK (Anthropic via Vercel AI Gateway) — code-to-pricing-claim reasoning
- ncc — bundles the GitHub Action distribution
- Vitest — unit and fixture-based audit tests
Technical highlights
- Traces marketing-copy pricing claims to real enforcement call sites scattered across API routes, middleware and database constraints — a semantic code-to-claim mapping problem, not a keyword search
- Direct Stripe catalog provisioning from audit results — the output is a working setup, not just a text report
- Dual distribution: web app for one-off audits, standalone GitHub Action for continuous CI drift checks
- A 70KB+ running engineering decisions log (DECISIONS.md) documents every non-obvious architecture choice as the project grew
Status
Actively developed — 23 commits, most recent within the last week. Hosted on Vercel, not yet on a public custom domain.
