Exposed keys and secrets
API keys for payment, email, AI and database services that ended up in the browser code, the mobile app bundle or a public repository. Keys that are meant to be public are separated from the ones that must never be.
AI coding tools can take an idea to a working app in an afternoon. They are much less careful about who else can use it. We review what the tool built, find the keys, database rules and access checks that would let a stranger in, and give you fixes you can apply yourself, often by pasting them straight back into the same AI tool.
A focused security review of a web or mobile app that was built, mostly or entirely, with an AI coding tool. We look at the running app from the outside, sign in with test accounts you provide, and read the code if you share it, then report the issues in plain language with a fix for each. It is a non-intrusive review done with your written authorisation, not a penetration test.
AI tools write code that works on the happy path. Security usually lives off it: whether a database table can be read by anyone holding the public key, whether a user can open another user's record by changing a number in the address bar, whether a secret key was shipped inside the website's own code. None of these show up when you click through the app yourself, and all of them are easy for someone else to find. If the app holds personal data, the PDPA's Security Principle applies to it like any other system, and a leak can trigger the breach notification duty.
Scoped to one app and its backend. Most reviews cover the six areas below; we tell you up front if something in your stack needs more.
API keys for payment, email, AI and database services that ended up in the browser code, the mobile app bundle or a public repository. Keys that are meant to be public are separated from the ones that must never be.
For Supabase, whether Row Level Security is enabled and correct on every table, since the anon key in your app is public by design. For Firebase, whether security rules were left in test mode. Checked table by table, not assumed.
Whether the server, not just the screen, decides who may see and change what. We test whether one user can read or edit another user's data, and whether admin functions are reachable by ordinary accounts.
API routes, serverless and edge functions, webhooks and file storage buckets that answer requests nobody should be making, including ones the AI created and the app no longer uses.
Outdated packages with known vulnerabilities, debug settings left on, overly broad CORS, missing security headers and error messages that reveal internals.
What personal data the app collects, where it is stored and who can reach it, checked against the PDPA's Security Principle, with the privacy notice and consent points your launch will need.
The issues that sink AI-built apps are usually simple and easy to discover. A review before launch, or right after, costs far less than cleaning up after someone else found them.
Each finding comes with a plain explanation and a concrete fix, written so you can paste it into your AI tool or hand it to a developer, rather than a scanner report full of jargon.
You do not have to stop using AI tools to be safe. You need to know which few things they tend to get wrong and check those every time. We leave you with that checklist.
A short report showing the app was reviewed and the findings were fixed answers the security question in customer due diligence and investor conversations.
If the app holds personal data, the review doubles as your first Security Principle check, which is easier than retrofitting it after launch.
We confirm the fixes worked, so you are not left guessing whether the AI's change actually closed the gap.
You tell us the app, the platforms behind it and what it does. We agree the scope in writing, and you provide test accounts and, if you want a deeper review, read-only access to the code.
We look at the running app the way a curious stranger would: the code it sends to the browser, the requests it makes and what those endpoints return.
Using your test accounts, we check what each type of user can reach, and whether one user can get at another's data.
Database rules, storage, functions and, where shared, the repository, looking for the patterns AI tools most often get wrong.
Findings ranked by how easily they could be abused and what they would expose, each with a fix you or your AI tool can apply.
Once you have applied the fixes, we test them again and update the report.
Each issue in plain language, ranked by risk, with where it is and what it would expose.
A concrete fix per finding, written to paste into your AI tool or hand to a developer.
Table-by-table result for Supabase Row Level Security or Firebase rules, with corrected policies where needed.
Every key found, which must be rotated, and where each one should live instead.
The short list of checks to repeat whenever the AI tool changes your app.
Confirmation that the fixes were applied and worked, for your records and your customers.