What "production grade" actually means

"Production grade" gets used the way "artisanal" gets used on bread. Here's what we mean by it, as a checklist you can hold any developer to, including us.

Access control

Every API route checks that the signed-in user owns the record they're asking for. We test this by changing an ID in a URL and confirming we get a 404, not someone else's data. Logged in is not the same as permitted.

A revoked user stops working on the next request, not on their next login.

Secrets

No API keys in the client bundle. We grep for them before every release. Tokens expire. Sessions revoke on password reset. Keychain items are marked for this device only.

Input handling

Every field gets fed SQL, script tags, and a 10 MB paste. Queries are parameterized. Output is escaped. Uploads are size-limited and type-checked before they touch storage.

Rate limiting

We hit our own API in a loop and confirm it stops us. Then we confirm the limiter is actually on in production, not gated behind an environment variable nobody set.

Monitoring

Error tracking in every layer: the iOS app, the web client, the API, the workers. Crashes, hangs, and slow requests all report with a user ID so we can connect a support email to the actual failure.

Backups that restore

A backup that has never been restored is a hope, not a backup. Before launch we restore one to a fresh database and check the row counts.

The client hands

Dynamic Type at the largest accessibility size on every screen. VoiceOver labels on every icon-only control. Reduce Motion honored. The empty state, the loading state, and the error state all designed, not just the populated one.

Cold launch under one second. Local data renders before any network call.

Delivery

CI runs the test suite and builds the app on every push. Deploys go from a Git branch, not from someone's laptop. The App Store listing has real screenshots for every device size, a privacy policy that matches the privacy questionnaire, and in-app account deletion.

What you own at the end

The repository. The CI configuration. The Vercel and Railway projects, under your accounts. App Store Connect, under your team. Documentation of how it's deployed and how to roll back.

If a developer can't show you this list checked off, they shipped a prototype. We ship this list.