Ship without leaking secrets.
Keys, tokens and internal endpoints end up in the builds you ship.
You find them before anyone else does, ranked by severity, each with a clear fix.
We tear down your app to find what's exposed, and competitors' apps to find what's been taken.
For iOS, Android, desktop and web apps.
With AI, reading a shipped app takes minutes, whether it’s mobile, desktop, web or an on-device model. Assume whatever is inside it has already been read.
A storage key in the app opens every document your customers have uploaded.
The instant-loan feature behind a flag is found, and talked about, before you announce it.
The recommendation model your team built can turn up inside someone else’s app.
And if you suspect your work has turned up in someone else’s app, tell us what you’ve seen.
We go through what ships inside the app, the way someone hostile would.
What’s exposed, how serious it is, what to fix, and where your work shows up.
Four problems that show up once your app is in other people's hands, and what changes when you know about them first.
Keys, tokens and internal endpoints end up in the builds you ship.
You find them before anyone else does, ranked by severity, each with a clear fix.
Pricing rules, fraud checks and models ship to the client, where anyone can take them.
You know what a competitor could lift, and decide what belongs on your servers instead.
You suspect another app shipped your work, but you can't prove it.
Tell us what you suspect. We check, and you get a clear answer: match or no match, with evidence you can act on.
A clean audit goes stale with your next release.
Ongoing checks as your app changes, so new leaks don't wait for the next audit.
Early access
What leaked, how serious it is, how to fix it, and where else it has turned up.
Sample report · Example banking app
A login meant for testing still works on your live service. Anyone who finds it is in.Still works on your live service.
Fix ready for review
Review and mergeconst qa = "qa-test:test-pass"if (input == qa) allow()ok = await server.check(input)if (ok) allow()We prepare the fix. You review and merge.
Your internal support tool answers anyone who finds its address, no sign-in needed.Open to anyone who finds its address.
FixRequire staff sign-in and take it out of the customer app.Add staff sign-in, remove from app.
Your approval limits can be read from the app, and applications tuned to pass them.Limits can be read and gamed.
FixDecide on your server and send the app only the outcome.Decide on your server, not the phone.
Anyone can see exactly where your fee tiers and limits sit.Your fee tiers and limits are visible.
FixServe fees per account at request time instead of bundling them.Serve fees per account on request.
Found in another app
Get a report like this for your own app.
Join early accessHardening makes your app harder to take apart. Pentests check how your systems hold up. We show what still gets out, and whether it has been used elsewhere.
Scrim doesn’t replace either one. It shows whether they’re working.
If your team ships an app to users, in any field, this applies to you.
We see your product the way few people do. Here is how we treat it.
What we find stays between you and us.
Want it in writing? We’ll sign one.
Your app and our findings are deleted when you ask, or after [DATA RETENTION POLICY].
We only look at the apps you point us to.
We never share your app with anyone.
We never hand over anyone else’s code. You get the result, nothing more.
[TO CONFIRM WITH COUNSEL]
For many findings, yes. We prepare the fix, you review and merge it.
Tell us which app or apps to look at. There are no technical requirements on your side.
iOS, Android, desktop, web and on-device AI models.
Confidentially. Details are in how we treat your app.
[PRICING]
[TIMELINE] Join the early access list and we’ll tell you first.
Join early access and we'll look through your app, then tell you what we found.