24 checks · two live accounts

Is your paid app leaking data or money?

$ solacess scan democart --deep
We log in as two different customers and try to break your app the way a real attacker would. Every finding carries the request that proved it, a dollar figure, and a fix you paste back into Cursor.

No account needed · the free Quick Scan reads only what your site already shows every visitor

sample reportdemocart · 24 findings
  1. domain verified
  2. two sessions established
  3. S2 service_role key in bundle
  4. A1 account B read A’s invoices
GET /api/invoices/inv_8f2c  as: account-B
→ 200 OK
  "owner": "account-A"
  "customer_email": "a•••@•••.com"
at risk$368/mo
Verified

real scan · our own deliberately vulnerable test app

built for apps shipped with lovable · bolt · cursor · replit · v0 · claude code — on next.js, supabase and stripe, with real customers paying

What this actually is

what this actually is
01

you point at your app

One DNS record proves it is yours. Two test logins you made yourself. That is the whole setup.

02

we log in as two customers

Then we ask for A’s data while signed in as B. If it comes back, the bug is proved, not guessed.

03

you get proof and a price

The request that did it, what it costs you a month, and a prompt you paste into Cursor to fix it.

the gap nobody checks

Your AI wrote the code. Nobody reviewed it.

what the AI gave you

  • A working app, in a weekend
  • Tables created without row-level rules
  • A webhook handler that trusts whatever arrives
  • Access checks written in the browser, not the server
  • Keys pasted where they were convenient

what solacess gives back

  • The exact request that leaked the data
  • The table anyone can read, named
  • The forged payment your app accepted
  • The dollars a month you are losing, with the basis
  • A fix prompt you paste back into Cursor
what we check

Twenty-four checks. Each one has to prove itself.

Grouped by what goes wrong, not by jargon. The ones marked two accounts need a second test login — that is where the findings other scanners miss live.

data leak

11
  • S1API keys sitting in your JavaScript bundle
  • S2The Supabase key that bypasses every rule
  • D1Tables anyone can read without logging in
  • D3Users who can promote themselves to admin
  • A1One customer reading another’s recordstwo accounts
  • A3Admin pages guarded only in the browsertwo accounts
+ 5 more

money leak

7
  • P1Fake payment notifications your app believes
  • P2The same payment counted twice
  • P3Prices your customer can change before paying
  • P4People still using the app after cancelling
  • A4Paid features a free account can calltwo accounts
  • C2An AI endpoint strangers can run up your bill on
+ 1 more

will break

6
  • C1No limit on password guesses at sign-in
  • R1No database backups you could restore from
  • F1Missing browser protections on every page
  • F3Debug pages and error traces left public
  • S4Your original source code, downloadable
  • F2Any website allowed to call your API
 

Every check either reproduces the problem or reports suspected. A dollar figure only ever rides on a verified finding.

see all 24 →
the two-account proof

We don’t say “this looks risky”. We log in as someone else and show you their data.

Most scanners read your code and guess. Solacess creates two real sessions on your live app, replays account A’s requests as account B, and only reports what actually came back. If it cannot reproduce the leak, it says suspected — never verified.

A1Criticalcross-account access

Account B can read Account A’s invoices

step 01 — as account A
GET /api/invoices/inv_8f2c   session: account-A
→ 200 OK   { "id": "inv_8f2c", "owner": "account-A" }
step 02 — same request, account B
GET /api/invoices/inv_8f2c   session: account-B
→ 200 OK
  { "id": "inv_8f2c", "owner": "account-A",
    "customer_email": "a•••@•••.com", "total": "•••" }

redacted before it was stored · we never keep your customers’ data

Verified

Reproduced twice, four minutes apart. 1,240 invoices are reachable the same way.

affected/api/invoices/[id]
table: invoices
Read the full sample report9 findings · 3 buckets · example data
how it works

Three steps, and you keep control of every one.

step 01

prove the app is yours

Add one DNS record, or drop a file on your domain. Until that passes, Solacess only looks at what your app already shows the public.

step 02

hand over two test logins

Two accounts you created for this, never a real customer’s. Stripe stays in test mode. Both are encrypted and deleted when the scan ends.

step 03

read what it proved

Findings in three buckets, each with the request that proved it and a fix prompt. Fix it, then run the scan again to confirm it is closed.

is this safe to run

Pointing a scanner at your own app should not be the risk.

These four are enforced in the engine, not promised in a policy page.

nothing active until you prove ownership

Every test that touches your app refuses to run until the domain check passes — re-checked at scan time, not trusted from last week.

one throttled path, fully logged

Every request goes through a single rate-limited client and is written to an audit log. A scan never looks like an attack, and you can stop it mid-run.

test mode only, and it cleans up

Stripe checks refuse anything but a test key. Anything a check creates is tracked and removed when the scan ends, pass or fail.

your data does not stay with us

Proof is redacted before it is written. We keep no copy of your source and no customer records. Test sessions are deleted when the scan finishes.

pricing

Read one report before you decide anything.

quick scanfree

What your app already shows the public. No signup.

4 passive checksscan free
start heredeep scan$79 once

All 24 checks, two accounts, Stripe test mode.

24 checksbuy deep scan
monitor$49/mo

A scan every week that needs no test logins, and an email when each one finishes.

agency$199/mo

Fifteen client apps in one place, each with its own report.

due diligence$399/app

Buying an app? A dated report before the money moves.

seller grants accessbuy report
questions

The ones people actually ask.

Will this break my live app?

It is throttled, logged and stoppable mid-run, and the only writes it makes are to test accounts you created. Stripe stays in test mode.

Do you store my code or my customers’ data?

No. Proof is redacted before it is written, and nothing of your source is kept.

Can I scan an app I don’t own?

No. Active tests refuse to run until you prove the domain is yours, and it is re-checked every scan.

What if it reports something that isn’t real?

A finding is only marked verified when the check reproduced it. Everything else is labelled suspected, and carries no dollar figure.

I’m not technical. Can I act on the report?

Each finding is written in plain words and ends with a prompt you paste into Cursor or Claude Code. Then run the scan again to check the fix.

Where does the dollar figure come from?

From what the check measured — the plan price it saw, the number of accounts affected. Every figure shows its basis, and it is an estimate, not a bill.

Does it work on apps not built with Lovable?

Yes. The checks care about Next.js, Supabase and Stripe, not which tool typed the code. Cursor and Claude Code apps are the main case.

where this sits

Between a scanner that guesses and a pentest you cannot afford.

The middle column is what most vibe-code scanners do today: read the bundle and the config, match rules, report what the shape suggests.

solacessa typical scannera human pentest
How it decidesSigns in as two customers and replays the requestReads the bundle and config, matches rulesA person tries things by hand
What a finding shows youThe request and the response it came back withA rule name and a severityA written report, usually with steps
One customer reading another’s dataYes — this is the main thing it doesNot without two live loginsYes
Payment and subscription leaksYes, in Stripe test modeRarelyIf you ask for it
What it costs$79 a scanfree – $49/mothousands
How long you waitminutesminutesweeks

the middle column describes the category, not one named product · pentest prices vary widely · we are not a replacement for a pentest, and say so

Read one report. Then decide whether you were worried about the right things.

The sample report is a real scan of a deliberately vulnerable app — nine findings, the proof behind each one, and what they would cost.

no signup for the Quick Scan · no spam, ever