Sample · fictional app

Proof report: Parcelry

This is what a Launch Pass report looks like. Parcelry is a made-up parcel-tracking SaaS built with Lovable on Supabase and Stripe. The findings, pull request and test results below are illustrative. Your report uses the same structure with your app's real results.

Report
GTL-0001
Scope date
2026-09-25
Environment
staging + Stripe test mode
Fix
PR #42
Verdict
GOOD TO LAUNCH

Summary

We found four launch blockers. All four are fixed in one pull request, and every fix was proven on the staging copy after the merge. One item (AI spend caps) is out of scope for a Launch Pass and is listed as a recommendation.

CheckFoundFixedProven
Row level securityRLS off on shipments; using (true) on addressesPR #4216 / 16 pass
Supabase grantsanon had ALL on 3 tablesPR #42verified
Stripe webhooksNo event-ID check: a retried checkout.session.completed added a second seatPR #426 / 6 pass
Auth redirectsMagic link pointed at localhost:3000PR #42verified
Email limitsDefault Supabase SMTP (rate-limited)Custom SMTP configured by ownerverified

Proof 1: user B cannot reach user A's data

Two test accounts, A and B. Signed in as B, we tried every operation against rows owned by A, through the same public API key the app ships in its browser bundle.

TableSelectInsert as AUpdateDelete
shipments0 rowsdenied0 rows0 rows
addresses0 rowsdenied0 rows0 rows
invoices0 rowsdenied0 rows0 rows
profilesown row onlydenied0 rows0 rows

Before the fix, the same test as B returned 1,204 of A's shipment rows.

Proof 2: each payment grants access exactly once

Replayed in Stripe test mode against the fixed webhook handler. The rule under test: one paid event changes one entitlement, once.

ReplayBeforeAfter
Same event delivered twice2 seats1 seat
Two deliveries at the same time2 seats1 seat
Retry after a timeout2 seats1 seat
subscription.deleted before createdPro keptPro removed
Unsigned eventacceptedrejected, 400
Wrong signing secretrejectedrejected, 400

What changed in PR #42

Recommendations (out of scope)

Scope and limits

This report covers the checks above, on the staging environment, as of the scope date. It is not a guarantee that the application cannot be breached. Client data used for testing is deleted within 14 days of delivery.

Request a pass for your app