Managed QA for teams that ship with AI
Your team writes with AI. We are the QA it does not have.
A flat monthly service that tests every release against a published checklist, grows your automated suite, and gives you one person to ask.
For a CTO, VP Engineering or founding engineer with a 3-25 person team, a codebase that is mostly written with Cursor, Copilot, Claude Code, Windsurf, Lovable or Bolt, and a release cadence that has outrun its testing.
Termscritical flow (a path a user takes that costs money or trust if it breaks: sign-up, checkout, invite, export) · verdict (a one-word release result (pass, pass with findings, fail) with the findings and the checklist version behind it) · row-level security (database rules that decide which rows each signed-in user may read or write) · webhook (a message a provider such as Stripe sends to your server when something happens, like a payment) · CI (the pipeline that builds and tests every change before it can be merged or deployed) · LLM feature (a product feature that calls a large language model, such as an assistant or a summariser) · staging environment (a copy of production, without customer data, where release candidates are tested)
Published prices, limits shown
Plans
Starter
monthly3-8 engineers, weekly releases, web
$2,900/mo
up to 2 releases per week
- Flows by month 2
- 30
- Releases per week
- 2
- Environments
- 1
- Surfaces
- Web
Included
- Release checklist run on every release with a written verdict
- Automated suite for critical flows, maintained by us
- Monthly report
- Named QA lead, async channel
Not included
- API-only or mobile surfaces
- Performance and security regression
- On-call during release windows
Guarantees apply to every plan.
Growth
monthly8-15 engineers, daily releases, web plus API or one mobile platform
- Flows by month 2
- 80
- Releases per week
- 10
- Environments
- 2
- Surfaces
- Web, API, one mobile platform
Included
- Everything in Starter
- API contract and regression checks
- One mobile platform release gate
- Performance smoke on critical flows
- LLM-feature regression on model or prompt change
- Biweekly call
Not included
- Second mobile platform
- Security regression beyond the checklist scope
- On-call during release windows
Guarantees apply to every plan.
Scale
monthly15-25 engineers, continuous delivery, multiple surfaces
- Flows by month 2
- 200
- Releases per week
- continuous within scope
- Environments
- 3
- Surfaces
- Web, API, iOS, Android
Included
- Everything in Growth
- Both mobile platforms
- Performance and security regression
- Weekly call
- On-call for planned release windows
Not included
- Penetration testing with attestation
- Writing product code
Guarantees apply to every plan.
Coverage audit $1,200 one-time
Map of critical flows and their coverage, prioritised risk list from the failure catalogue, recommended plan. 5 business days. Credited to the first month.
Public methodology
The release checklist
Published in full, versioned, with a pass criterion and a severity on every item. A team can run it themselves. We run it on every release.
Release checklist, five of the published items
v1.0 · verified on 2026-09-21IdCheck and howPass criterionSeverity if failedStarter · Growth · Scale
SC-01
No secret keys in client bundles
automated Scan the built client assets (JS, source maps, HTML) for known key prefixes and for every value present in the server environment file.
Pass whenZero matches for key prefixes (sk_, service_role, AKIA, whsec_, private keys) and zero server-only env values found in client assets.
critical
starter, growth, scale
AC-02
Policies deny cross-tenant reads and writes when tested as another user
automated For every table or collection, sign in as user A, create a row, then as user B attempt select, update and delete on it through the client API.
Pass whenUser B receives zero rows on select and a permission error on update and delete, for every table.
critical
starter, growth, scale
AU-02
Server actions and API mutations re-check authentication and authorization
automated Invoke each server action or mutation endpoint directly by POST, without a session and with another user's session.
Pass whenEvery mutation rejects the unauthenticated call and the foreign-user call.
critical
starter, growth, scale
PY-01
Webhook signatures are verified against the raw body
automated Send an unsigned event, an event with an altered body, and an event signed with the wrong secret to the webhook endpoint.
Pass whenAll three are rejected with a 4xx status and no state change.
critical
starter, growth, scale
LM-01
Spend cap enforced per user and globally
automated In a test account, make model calls past the per-user cap and, in staging, past the global daily cap.
Pass whenCalls beyond either cap are refused with a user-visible message and a log entry; no further provider spend is recorded.
critical
growth, scale
Read the full checklist
Onboarding
How it works
Access and cadence
Read access to the repository, a staging environment, your release cadence, and the named contact on your side. Nothing to install.
Flow map and first run
We map the critical user flows, run the checklist against the current build and send the first list of findings by severity.
First verdict, suite scaffold
The first release gets a written verdict. The automated suite is scaffolded in your CI, in your repository, under your ownership.
Coverage to the plan limit
Automated coverage grows each week and reaches the plan's flow limit by the end of month 2. From week 2 every release runs the checklist and the suite, and the monthly report starts.
Cadence, reporting and escalation in detail.
The failure catalogue
What breaks in AI-written code
Five of 56 documented patterns, each with a source. The checklist starts from these, not from a generic template.
critical
A table created by a migration or SQL has no row-level security, so the anonymous key can read and write every row through the public API.
critical
A key meant for the server ends up in JavaScript the browser downloads, so anyone can read it and call the service as the app.
A scan of more than 5,600 publicly available applications built with prompt-to-app platforms found more than 2,000 vulnerabilities, over 400 exposed secrets, and 175 instances of exposed personal data. (Source: Escape, 2025-10-29 · verified 2026-09-21) critical
The page checks the session, but the exported action it calls does not, and actions can be invoked by direct POST.
An exported Server Action is reachable by direct POST request even when not used in the UI; a page-level authentication check does not extend to the Server Actions defined within it; environment variables prefixed NEXT_PUBLIC_ are exposed to the client. (Source: Next.js docs, 2026-08-25 · verified 2026-09-21) critical
The endpoint that marks orders paid or plans active trusts any request that looks like an event.
Stripe signs every webhook event; without verification an attacker could send fake events to trigger order fulfilment or grant access. Official libraries reject events older than 5 minutes by default, endpoints may receive the same event more than once, and Stripe does not promise delivery order. (Source: Stripe docs, 2026-09 · verified 2026-09-21) critical
Nothing limits how many tokens one user, or the whole app, can consume, so a loop or a hostile user runs up the provider bill.
The OWASP Top 10 for LLM Applications 2025 lists prompt injection (LLM01), sensitive information disclosure (LLM02), improper output handling (LLM05), excessive agency (LLM06), system prompt leakage (LLM07) and unbounded consumption (LLM10) among the ten risks. (Source: OWASP GenAI Security Project, 2025-03-12 · verified 2026-09-21)
All 56 patterns with sources.
Written and shown on every plan
Guarantees
Guarantees, written and shown on every plan
- 01A named QA lead within 3 business days of start
- 02First release verdict within 7 days of onboarding
- 03Every release tested against the published checklist version in force
- 04Monthly report delivered by the 5th business day
- 05If a release ships with a critical finding we marked as passed, the next month is free
Exit terms. Monthly. Cancel with 30 days' notice. No setup fee. The coverage audit fee is credited to the first month of any plan started within 60 days.
Synthetic sample
What you receive each month
Monthly report
Month 3 (synthetic)
Pass · pass with findings
12 · 3
Every release
A written verdict: Pass Pass with findings Fail with findings by severity, the checklist id and pattern for each, the build and the checklist version.
Every month, by the 5th business day
Releases tested, verdicts, findings by severity, coverage growth in flows against the plan limit, flaky-test handling, next month's plan. See the synthetic sample.
Limits, written down
What we cannot do
What we cannot do
We test against a defined scope and report what we find. We do not guarantee bug-free releases. We do not write your product code. We are not a certified penetration-testing firm and do not issue compliance attestations. Coverage limits per plan are explicit and apply.
Read the full list
Email only
Contact
Write to hello@managedqapartners.com with your team size, release cadence, stacks and the AI tools you use. We reply within 24 hours on business days.
Plan buttons open a prefilled email with that template. No forms, no calls to book, no analytics on this site.
Questions
QA as a service for startups
A flat monthly service that tests every release against a published checklist, grows an automated suite in your repository and sends a monthly report, with one named QA lead. Starter is sized for 3-8 engineers on weekly releases; the plans page shows the limits side by side.
What is managed QA?
Testing owned by a service rather than a hire or a tool: the checklist, the suite, the verdict per release and the report per month. The scope is written as plan limits and the checklist is public.
How much does managed QA cost?
Our plans are $2,900, $5,900 and $9,900 a month, and the coverage audit is $1,200 one-time, credited to a first month. No setup fee, nothing metered, cancel with 30 days' notice.