Changelog

What we shipped, when, and what it changed.

Dated entries, real only. Nothing appears here until it works, and anything we measured comes with its sample size. What’s coming next is listed separately and labelled as not shipped.

v3 · shipped

PatchLabs v3: four product lines, and checks that read your code.

v2 found who could read your database. v3 adds a second engine that reads the rest of your repo, puts every result in one finding format, and organises PatchLabs into four product lines.

  • New

    Four product lines

    Lab rebuilds your database from its migrations and reproduces each leak as an anonymous visitor, a signed-in stranger and the owner. Code reads the repo. Fix writes the migration, proves it and waits for your engineer. Watch re-checks, diffs, alerts and signs every result. Old product URLs redirect to the new ones.

  • New

    PatchLabs Code: new checks on every run

    Reads the repo without running it or installing anything, and reports with a file and line: secret keys in the current code (PL-009), Edge Functions open without sign-in while using the service key (PL-017), sign-ups without email confirmation (PL-018), access decided by user_metadata (PL-019), admin checks only in the browser (PL-020), payment webhooks that don’t verify signatures (PL-021), functions that trust a user id from the request (PL-022), dependencies with known vulnerabilities from OSV (PL-023), user content rendered as raw HTML (PL-024), open Firebase rules (PL-025) and risky CORS (PL-026). The dependency check sends only package names and versions to OSV, and is reported as skipped when OSV can’t be reached.

  • New

    One finding format

    Every finding, from the Lab or Code, has the same fields: ID, line, severity, object, file and line, redacted evidence, whether it was proven, the proof and a one-line fix. The report groups findings by line, and a finished check’s API summary carries the list and counts by severity.

  • New

    Findings library and guides

    A page for every finding ID from PL-001 to PL-026, each with vulnerable code, a self-check and the fix, and filters by line, severity and status. Plus a Learn section of in-depth guides: RLS with stranger tests, roles and user_metadata, Edge Functions, Stripe webhooks, storage, views, Realtime, leaked keys, Firebase rules, dependencies and a pre-launch checklist.

  • New

    A demo you can click through, and a rebuilt site

    The real app on a fake demo workspace, clearly labelled, with no sign-in. A rebuilt home page, a products menu, integrations and pages for founders, agencies and the engineers who approve fixes.

Not in v3: five new Lab checks are written up but not tested yet: strangers changing other people’s rows (PL-012), users making themselves admin (PL-013), views skipping RLS (PL-014), open storage policies (PL-015) and Realtime streams (PL-016). Their pages say so, and they won’t appear in reports until they ship. Automatic pull requests still need the GitHub App, which is coming.

Measured effect: too new to measure. We’ll add numbers here once enough checks have run with the new code checks to report them honestly.

v2

PatchLabs v2: accounts, monitoring and proof anyone can verify.

v1 checked an app once. v2 keeps watching it: sign in, add your apps, and we re-check them on a schedule, tell you what changed and sign every result so anyone can verify it.

  • New

    A new website

    A rebuilt patchlabs.dev in a light and dark “lab notebook” design, with pricing, fair comparisons, docs and research. Every page works without JavaScript. No cookies, no third-party analytics.

  • New

    Accounts and workspaces

    Sign in with a one-time email link; there are no passwords. Your first sign-in creates a workspace and links earlier checks made with the same email. Invite teammates as owners or members. Export everything we hold about you, or delete your account, from Settings.

  • New

    Monitoring

    Add an app, prove it’s yours once, and it’s re-checked weekly or monthly. “Run now” any time. Each check shows what’s new, what’s fixed and what’s still leaking since the last one. Every member gets an email (the subject says “new leak” when there is one) and your webhook gets a one-line summary that works as a Slack incoming webhook.

  • New

    Badges and public status

    An opt-in SVG badge for your README or site: “no known leaks”, “fix in progress” or “not checked yet”, with the date of the last check. It links to a public status page that shows the repo, status and date, and nothing exploitable.

  • New

    Signed receipts

    Every finished check gets a receipt signed with Ed25519: the repo, status, leaking tables, whether the lab proof passed, a hash of the fix, and every owner decision. Our public key is published at /.well-known/patchlabs-receipt-key on the API, so anyone can check a receipt hasn’t been changed.

  • New

    Owner decisions and answers

    Approve a fix, or mark a table as meant to be public. We remember that choice for the app and stop alerting on it. Answers to the report’s plain-English business questions are saved too, and both go into the signed receipt.

  • New

    REST API and API keys

    Create workspace keys (pl_live_…, shown once, stored hashed) and start a check from CI with POST /v1/apps/{id}/checks. Errors are always a plain sentence.

  • New

    Remote MCP server

    Point Cursor, Claude Code or any MCP client at https://api.patchlabs.dev/mcp. Tools: rls_check, start_check and get_check for anyone; list_apps and run_check with your workspace key.

  • New

    Free RLS check, no sign-up

    Paste a public repo and get a static read of its supabase/migrations in seconds: which tables have row-level security, their policies, columns that look personal, and eight finding types from PL-001 (anon can read personal data) to PL-008 (RLS never enabled). Static analysis only; the full check proves it in the lab.

  • New

    Commit the fix on GitHub

    The report now opens GitHub’s new-file page with the migration already filled in at supabase/migrations/<timestamp>_patchlabs_leak_fix.sql. Very large fixes fall back to a download.

  • New

    Plans

    Free, Maker, Agency and Enterprise, with app, run and seat limits enforced by the API. Free is live; paid plans are requested from Settings and set by us while card payments aren’t connected.

Measured effect: too new to measure. We’ll add numbers here once there are enough monitored checks to report them honestly.

v1

First public leak checks.

Anyone can paste a public repo and get a report: what a stranger can read, the fix, and the proof that it works.

  • New

    Public leak checks

    Paste a public GitHub repo and your email. Prove the repo is yours by committing patchlabs-verify.txt with a one-time code. The lab rebuilds your database from supabase/migrations in a disposable Postgres with Supabase’s roles, auth functions and default grants, seeds fake rows, reads as an anonymous visitor and a signed-in stranger, writes the fix and proves it. It never connects to your live app or database.

  • New

    Reports by email

    The report link is emailed to you when the check finishes, so you can close the tab.

  • New

    A spend cap on every check

    The smallest Claude model writes the fix first. A larger model is used only if the lab proof fails, and every check has a hard spend cap.

  • Study

    18 of 20 fixes proven with no human

    We ran the autonomous pipeline on 20 new apps. 18 of 20 fixes passed the strict lab proof with no person involved; 15 needed only the smallest model. The other 2 went to a person.

18of 20fixes passed the lab proof, no human1
15of 20needed only the smallest model1
3.5minmedian time to a proven fix1
  1. PatchLabs autonomous pipeline, 20 new apps, 9 Nov 2026, n=20. Small sample, published with the 2 misses. Methodology.
research

Fix agents re-verified: 19 of 20 worked first time.

Before opening checks to the public, we re-verified 20 real fixes written by our agents ourselves.

  • Study

    19 of 20 fixes worked first time

    19 of 20 fixes worked first time and applied cleanly (n=20, 5 Nov 2026). This is a separate check from the 9 Nov autonomous run above.

Not shippedcoming

Coming next.

These aren’t live. They move up into a dated entry the day they work, never before.

  • Coming

    GitHub App: private repos and automatic pull requests

    Install our GitHub App to check private repos and get each proven fix as a pull request for your engineer to review. Today: public repos only, and fixes arrive as a download or a one-click commit.

  • Coming

    Five more Lab checks

    Reproducing in the lab: strangers changing or deleting other people’s rows (PL-012), users making themselves admin (PL-013), views that skip row level security (PL-014), open storage policies (PL-015) and Realtime streams of private rows (PL-016). Today: each has a finding page with a self-check you can run, but PatchLabs doesn’t test for them.

  • Coming

    Card payments

    Self-serve checkout for paid plans. Today: request a plan in Settings and we set it and send an invoice.

Follow along with the Atom feed, or email the founder to ask what’s next.

Free check

Try everything above on your own app. The first one is free.

Paste your public repo. You’ll get the leaks, the fix and the proof on one page.