GITHUB ACTION Free for personal repos

Pass Intuit's app review. The first time.

Preflight checks your QuickBooks Online app against the exact technical and security requirements Intuit's reviewers grade — and hands you an audit-ready report. It's not another scanner. It's a pass/fail against the gate.

One line in your workflow: uses: preflight/qbo-review@v1
preflight · qbo-review · run #42
OAuth refresh token — AES encrypted, key in separate configSecurityPass
Cache-Control on sensitive pages (no-store)ServerFails review
302 redirect on token-bearing endpointsSecurityPass
Session cookies — Secure + HTTPOnlyCookiesPass
Annual re-review — 500-connection thresholdMonitorApproaching
1 issue blocks publishing · mapped to Intuit's checklistFix & re-run →

Built for developers publishing on the QuickBooks Online App Store

The problem

The review is a black box, and every rejection costs you a cycle

Intuit's security review runs after the technical review, blocks publishing on any critical, high, or medium issue, and gives you two weeks to fix problems once you're live. You find out what's wrong only after they tell you.

01

Rejected on the unknown

You submit, wait, and get bounced for a requirement nobody surfaced up front — then you're back in the queue starting over.

02

The annual re-review

Cross 500 connected companies and you're re-reviewed every year. Fail and Intuit limits onboarding, then blocks API access entirely.

03

An audit you can't schedule

A full outside pentest costs thousands and takes weeks you don't have before your next submission window opens.

How it works

A security review on every push, without a security hire

Preflight doesn't try to out-scan Semgrep. It runs the commodity checks invisibly, then does the part a scanner can't: map every finding to Intuit's actual review categories and tell you what will block you.

1

Category mapping

Findings organized by Intuit's review structure — technical, then security — each requirement marked pass or needs-attention. No generic vulnerability dump.

2

Audit-ready evidence

A timestamped, scoped report shaped to satisfy Intuit's "reputable scan results within two weeks" clause and the security affidavit.

3

Only the findings that matter

"14 findings — 3 map to Intuit requirements, 11 you can ignore." You see what will actually block your review, not a wall of noise to sort through yourself.

Intuit Review Readiness6 / 7 ready
OAuth token management
Cross-site scripting (reflected + stored)
SQL & XML injection
CSRF protection
Cache-Control: no-store on sensitive pages
No QuickBooks data logged
TLS 1.2 · AES-256 · SHA-256
What it checks

The things a generic scanner has no concept of

Semgrep finds a generic XSS. It will never tell you your refresh token needs AES encryption with the key in a separate config file — because that's Intuit's rule, not a scanner's.

Deterministic · near-zero maintenance

Server & transport config

TLS ≥ 1.1, HTTPS enforced everywhere, TRACE disabled, and Cache-Control set to no-store on sensitive pages.

Intuit-specific

OAuth token management

Refresh token + realmID encrypted with AES, key stored in a separate config, tokens never exposed to third parties.

Intuit-specific

Data-usage & referer rules

No QuickBooks data logged or exported beyond functional use, and 302 redirects on any token-bearing endpoint.

Scanner-backed · expert-triaged

The attack-vuln set

XSS, SQLi, XML injection, and access control — run via commodity engines, mapped to Intuit's categories, noise removed.

Pricing

Free for individuals. Paid where it's a business.

The same model that made Gitleaks ubiquitous: free on personal repos so it spreads, licensed for organizations shipping a real app.

The funnel

Personal

$0
For solo builders and personal repos.
  • The GitHub Action, free forever on personal accounts
  • Server, transport & cookie checks
  • Pass/fail against Intuit's public categories
The product

Organization

$49 / month
For companies shipping a QuickBooks app.
  • Everything in Personal, across all org repos
  • OAuth token, data-usage & full attack-vuln coverage
  • Audit-ready report + security-affidavit prep
  • Annual re-review & 500-connection monitoring
Questions

The obvious objections

Why not just run Semgrep or Nessus myself?

You can, and Preflight runs those engines for you. What they don't do is know Intuit's rules — the OAuth encryption requirement, the 500-connection re-review, the referer-leak redirect. Preflight is the mapping and the pass/fail, not the raw scan.

Is this affiliated with Intuit?

No. Preflight is independent, built against Intuit's publicly documented requirements. It isn't operated, endorsed, or reviewed by Intuit.

Will it guarantee I pass?

No tool can. It catches the common, well-documented rejection reasons before you submit, so Intuit isn't the first to find them.

Do you see my code?

The Action runs inside your own CI. Deep checks need read access to your checked-out code; the report is yours.

Ready when you are

Stop guessing whether you'll pass

Run your first readiness check before you submit to Intuit. Start free on a personal repo, or subscribe for the full review across your org.