Confirm the production URL
Preview and production can return different routes, headers, and environment values.
Fix prompt
Plain http requests to this app do not redirect to https. Make every request on http answer with a 301 to the same path on https. On Lovable hosting this is usually automatic once a custom domain is verified, so first check the domain setup in Project settings, Domains, and confirm the domain shows as verified. If the app has its own server entry, add the redirect there for requests whose forwarded protocol is http. Change nothing else and tell me what you found so I can re-run the check.
Run the primary journey from a clean session
A working first screen does not prove the main task completes.
Fix prompt
In Lovable chat: Run the main user journey from a clean browser. Record each request, state change, failure path, and final result. Then show me the files changed and the checks run.
Enforce authorization on the server
Hidden buttons do not stop a direct request to a protected action.
Fix prompt
In Lovable chat: List every protected read and write. Enforce identity and ownership on the server for each one, then test a second account against them. Then show me the files changed and the checks run.
Validate every server input
Browser validation can be skipped by direct requests.
Fix prompt
In Lovable chat: Add strict server-side validation and length limits to every public or authenticated mutation. Return clear errors without internal details. Then show me the files changed and the checks run.
Keep private keys out of browser code
Anyone who opens the page can read this key and use it directly against the service it belongs to, with your account paying for it.
Fix prompt
A server-side secret is compiled into the browser bundle: a {pattern} in {bundle}. Do three things in this order. First, tell me which provider it belongs to so I can rotate it now; a key in a bundle counts as leaked. Second, move every call that uses that key into a backend function and read the key from a secret there, never from a VITE_ or public variable. Third, remove the key from the frontend code and from any environment variable that ships to the browser. Do not print the key in chat. Change nothing else and list the files you touched.Test the main failure path
Timeouts and rejected requests need a truthful, recoverable interface.
Fix prompt
In Lovable chat: Force the main external request to time out and fail. Show a truthful error, preserve user input, and provide a retry that cannot duplicate work. Then show me the files changed and the checks run.
Rollback and recovery
Whether you can put the previous version back, and how long that takes.
A URL cannot verify this. A Launch Review can.
Fix prompt
Deploy a trivial change, then roll it back, and time how long the app is wrong for.
Error monitoring
Whether a failure in production reaches a human rather than sitting in a log nobody opens.
A URL cannot verify this. A Launch Review can.
Fix prompt
Trigger a deliberate error in production and see whether anything alerts you within five minutes.
Rate limiting and abuse controls
Whether a script can hammer your forms, sign up loop, or paid endpoints without being slowed down.
A URL cannot verify this. A Launch Review can.
Fix prompt
Send the same form fifty times in a minute from one address and see whether anything stops you.
Apply row-level policies to every table
Whether the row rules behind the app actually stop one signed in account reading another's rows.
A URL cannot verify this. A Launch Review can.
Fix prompt
Sign in as one account and request another account's record by id through the API.
Keep the service role on the server
A service role bypasses row-level access checks and must never reach browser code.
Fix prompt
In Lovable chat: Search browser imports, environment variables, logs, and built files for the service role. Move every privileged operation behind an authenticated server function. Then show me the files changed and the checks run.
Sign in and account flows
Whether sign in, password or code reset, and session expiry behave under real use.
A URL cannot verify this. A Launch Review can.
Fix prompt
Sign in as two different accounts in two browsers and try to open the other account's pages by address.
Test personal-data deletion
Whether stored personal details are limited, deletable on request, and out of your logs.
A URL cannot verify this. A Launch Review can.
Fix prompt
Search your logs for an email address you know is in the database and see whether it appears.
Keep personal data out of logs
Email addresses and other personal details can spread into long-lived logging systems.
Fix prompt
In Lovable chat: Trigger each customer-data flow, search the resulting logs for known personal values, then redact fields at the logging boundary and repeat the test. Then show me the files changed and the checks run.