Monitoring

You built it with AI. Now it is in production. Here is what breaks

The app works on your screen. Three weeks later a customer emails that it has been down since Tuesday, and the only reason you know is that they bothered. This is the gap, and it is closable without hiring an engineer.

A small web app's dashboard with an uptime check, an error feed and a certificate expiry date beside it

Thousands of applications built with AI coding tools — Lovable, Bolt, Replit, Cursor, v0 and similar — are now serving real users, built by founders, agencies and operations people who are not full-time engineers. The incident record from 2025–26 is consistent: a security scan of about 5,600 publicly deployed AI-built apps found over 2,000 vulnerabilities, more than 400 exposed secrets and 175 personal-data leaks; the named incidents are inverted access rules on a hosted database, API keys shipped to the browser, an AI agent deleting a production database during a code freeze. Underneath the headlines is a quieter pattern: these apps have no one watching them. No uptime check, no error capture, no certificate reminder, no alert — so the first signal is a user. This guide is the production checklist and the monitoring a non-engineer can set up in an afternoon, with the startup monitoring guide as the next step. Facts checked 14 October 2026.

Key takeaways
  • Three things fail most: secrets in the frontend bundle, a database with permissive or missing row-level security, and authentication enforced only in the UI. Check all three before anything else — they are breaches, not outages.
  • Then the ordinary failures: the hosting plan suspends on a bill, a third-party API changes or goes down, the certificate lapses, a redeploy from a chat prompt breaks a flow. These are outages — and nobody is told.
  • Minimum monitoring: an external check on the app and on each API it depends on every few minutes; browser error capture with one script tag; daily SSL expiry check; deploys on a timeline; one alert to one person.
  • Separate development and production — separate database, separate keys — before you let any AI agent run commands. The database-deletion incident happened because they were the same.
  • Treat the first user report as a failure of monitoring, not just of the app. Each one should produce a new check.

What breaks, from the record

Exposed secretsAPI keys for payments, email or an LLM provider placed in frontend code or a public repo. Consequence: a bill, a data leak, or both. Found in 400+ of 5,600 scanned apps.
Missing row-level securityA hosted Postgres (Supabase and similar) with tables readable by any signed-in user, or any user at all. Consequence: every customer can read every customer. The most-cited Lovable-era flaw.
Client-side authThe UI hides the admin page; the API behind it does not check. Consequence: anyone with the URL is admin.
Agent with production accessAn AI agent given the production database connection runs a destructive command. Consequence: data gone; backups often not configured.
Dependency failureThe LLM API, the email provider, the payment processor or the auth service errors or changes. Consequence: a core flow silently fails while the home page loads fine. See third-party outages and LLM API dependencies.
Operational lapsesHosting suspended for a card decline, domain or certificate expiry, a free-tier database paused for inactivity. Consequence: down for days, discovered by a user.
Prompt-driven regression"Make the button blue" rewrites the form handler. Consequence: sign-up broken since the last deploy. See deploy correlation.

Five checks before you call it production

  1. Search the built frontend for secrets. Open the deployed site, view source and the JavaScript bundles, search for "sk_", "key", "secret", "token". Anything other than a public/anon key is a breach waiting; move it to a server function and rotate it.
  2. Test the database as a stranger. With the public key alone, try to read each table. If anything returns rows, row-level security is missing or wrong on that table. Ask the AI tool to enable RLS and write per-user policies, then test again as two different users.
  3. Hit admin and API routes without logging in. Every protected action must fail at the server, not just be hidden.
  4. Separate production. A separate database and separate keys for development; no AI agent gets the production connection string.
  5. Confirm backups exist and restore one. If you cannot restore, you do not have backups.

The security checklist covers the vendor-facing questions; these five are the ones you ask your own app.

The afternoon monitoring setup

  1. External availability checks on the app's main URL, the login flow endpoint, and each third-party API your core flow calls — every few minutes, from outside, recording status, response time and errors. This catches hosting suspensions, broken deploys and dependency failures.
  2. Browser error capture with a single script tag: JavaScript errors, unhandled promise rejections and failed requests, grouped by fingerprint so one bug is one line. This catches the broken form handler and the API call that started returning 401. See frontend error monitoring.
  3. Certificate and domain expiry checked daily with alerts at 14, 7 and 3 days — certificates are short now.
  4. Deploys on a timeline from the hosting provider's webhook, so "it broke after I asked for the blue button" is a fact with a timestamp.
  5. One alert, one person, by email or Slack, with quiet hours — and a second check that confirms before alerting, so you are not woken by a blip. Alert fatigue kills monitoring faster than no monitoring.

After the first incident

Something will still get through. When it does: note when the user reported it, when it actually started (your checks will tell you), and the gap between them — that is your time to detect. Add the check that would have caught it. Write five lines: what broke, when, how you found out, what fixed it, what changed. Do this each time and within three months the app is better monitored than most funded startups'.

If the app is for a client — many agencies now ship AI-built apps — the same setup per client, with a monthly report, is the agency monitoring pattern.

Quick reference

Scanned AI-built apps (2026)~5,600 apps: 2,000+ vulnerabilities, 400+ exposed secrets, 175 personal-data leaks
Top three security failuresSecrets in the frontend; missing or wrong row-level security; UI-only authentication
Top operational failuresHosting or free-tier suspension; dependency outage; certificate or domain expiry; prompt-driven regression
Before productionSearch bundle for secrets; test DB as a stranger; hit protected routes logged out; separate prod; restore a backup
Minimum monitoringExternal checks on app and dependencies; browser error capture; daily SSL check; deploy timeline; one confirmed alert
First signal todayUsually a user; the goal is a check that fires first

Frequently asked questions

Are apps built with AI coding tools safe to put in production?

They can be, after the same checks any app needs and that these tools often skip: no secrets in the frontend, row-level security on every table, authentication enforced at the server, separate production credentials, and tested backups. A 2026 scan of about 5,600 publicly deployed AI-built apps found over 2,000 vulnerabilities and more than 400 exposed secrets, so assume the checks are needed until you have done them.

How do I know if my app is down if I am not an engineer?

Set up an external availability check that requests your app and its key endpoints every few minutes from outside and alerts one person when a failure is confirmed. Add browser error capture with a script tag so broken flows that do not take the site down are also visible. Both can be configured without writing code.

What is row-level security and why does it matter for my app?

Row-level security is a database feature that restricts which rows each user can read or write, enforced by the database itself. Hosted databases used by AI coding tools often start with it off or with permissive rules, which means any signed-in user — or anyone with the public key — can read every customer's data. Enable it and test as two different users.

Why did my app break after I asked the AI to change something unrelated?

Code generated from a prompt can rewrite more than the thing you asked for. Without tests, the regression reaches users. Put deploys on a timeline from your hosting provider's webhook and run external checks on your core flows after each one, so a breakage is tied to the deploy that caused it.

Should I let an AI agent access my production database?

No. Keep development and production separate — different database, different keys — and give agents only the development environment. The best-documented AI-agent incident of 2025 was a production database deleted during a code freeze because the agent had access to it.

What is the minimum monitoring for a small AI-built app?

External checks on the app and each third-party API it depends on every few minutes, browser error capture via one script tag, a daily certificate and domain expiry check, deploy events on a timeline, and a single confirmed alert to a named person with quiet hours. That set is enough to make a check, rather than a user, the first signal.

How Merik handles it

Merik's Digital Operations is the afternoon setup in one place. Register the app and each API it depends on as assets (per client, if you build for clients) and Merik checks them from the outside every few minutes — availability, response time and HTTP status — learning a 14-day baseline per monitor so a slowdown raises an early warning with a risk score, a confidence score and the evidence, at most once per asset. Add the browser SDK with one script tag (no cookies, query strings stripped, server-side redaction) and JavaScript errors, unhandled rejections and failed requests arrive grouped by fingerprint per hour. GitHub and Vercel webhooks put deploys on the incident timeline; vendor status feeds for Stripe, Supabase, GitHub, Vercel, Cloudflare, Twilio and OpenAI explain and suppress incidents caused upstream. Confirmed failures open an incident assigned to the asset's owner and alert once, by email or Slack, with quiet hours.

Merik does not scan your code for secrets or audit your database policies; the five pre-production checks are yours. It is also the company workspace — employees, attendance, tasks, clients — so the app's monitoring sits beside the business that runs it. See Digital Operations.

Request your workspace

Free, set up for you, every module included — see what the free workspace includes

Run your workforce the simple way

Request your free company workspace and bring employees, attendance, leave, payroll and tasks together.