How is this different from writing Playwright tests myself?
It is Playwright underneath, and the file it writes is an ordinary spec you can open and edit. What it adds is the recording, the baseline it keeps after a pass, and a failure report written in plain English instead of a stack trace.
Does anything leave my machine?
Nothing from your project. It records in a browser on your computer, replays against your app, and keeps its history in a folder on your machine. There is no API key and the tools talk to no server of ours. The one thing we hold is an account, if you choose to make one: your name and your email, kept by Supabase, which runs our sign-in. When Pro opens, its nightly report will send us a summary of what the night found - the kind of each problem and the table it is on, never a row - and only if you turn it on.
What happens to passwords I type while recording?
A value typed into a password field is never written into the spec. It is replaced with an environment variable reference and the run tells you which variable to set in your .env file, which stays out of git.
I built my app in Lovable. I only have a web address.
That is enough. Open a terminal and run npx kryptheon@latest record with your app's address. It sets up a folder for the recordings itself - from your home folder it makes one called kryptheon-tests - and tells you where it is. After each change, run npx kryptheon check from that folder.
Can my AI assistant run it?
That is the point. Add the MCP server and your assistant gets the tools directly: it records with you, checks after every change, and is told not to call a change done until the check passes. Without MCP, npx kryptheon setup-ai writes the same rule into CLAUDE.md, AGENTS.md and .cursorrules, and npx kryptheon check --quiet keeps the output short.
Does the database scan touch my data?
No. It reads the shape of your database - table names, columns and the rules about who may see what - rebuilds that shape in a throwaway schema, attacks the copy, and deletes it afterwards - also when the scan fails partway. None of your rows is read, changed or copied.
Which databases can it scan?
Postgres, including any Supabase project you own. It needs your project's connection string. In Supabase, press Connect at the top of your project, choose Session pooler (port 5432), copy the URI and put your database password where it says [YOUR-PASSWORD]. Then, in your terminal, set it as KN_DATABASE_URL and run npx kryptheon-night. Never paste it into a chat, a website or a file you commit - it holds your database password. An app on Lovable Cloud - Lovable's built-in backend - does not hand one out, so the scan cannot reach it yet.
It found nothing. Am I safe?
It will never say so. Nothing found means these attacks, this time, lost. Every report ends with what was not tested and why, because an attack that never ran looks exactly like one that was refused.
What if I have not recorded anything yet?
It says so and exits zero. A fresh project with no recordings is not a failure, and reporting it as one only sends an assistant off trying to fix something that is not broken.