Production readiness checklist for SCHMA

A complete verification checklist covering database security, API key scopes, environment isolation, webhooks, and caching before launching a site powered by SCHMA.

Getting Started6 min read·Updated October 2026

Production readiness checklist for SCHMA

A complete verification checklist covering database security, API key scopes, environment isolation, webhooks, and caching before launching a site powered by SCHMA.

Before you begin

  • A SCHMA workspace connected to a customer-owned PostgreSQL database
  • At least one published content model with active entries
  • A frontend application integrated via the TypeScript SDK or REST API

Transitioning a digital product or marketing site from local development into production requires validating infrastructure, security boundaries, and cache invalidation. This checklist walks through verified best practices to ensure your SCHMA implementation is resilient, performant, and secure on launch day.

1. Database connectivity, pooling, and backup ownership

Because SCHMA uses a customer-owned database model, all editorial content resides directly in your PostgreSQL database. Before directing production traffic:

  • Enforce TLS/SSL connections: Ensure your PostgreSQL connection string requires encrypted transport (sslmode=require or sslmode=verify-full).
  • Use connection pooling: For high-throughput environments or serverless deployments, connect via a connection pooler (such as PgBouncer or your provider's pooled connection string) to prevent connection exhaustion.
  • Configure automated provider backups: Because your content resides in your own database, SCHMA does not take proprietary database snapshots. Configure daily automated backups, point-in-time recovery (PITR), and WAL archiving directly with your database host (e.g. Neon, Supabase, AWS RDS, or Crunchy Data).
  • Verify database resources: Ensure your PostgreSQL compute instance has sufficient CPU, RAM, and disk IOPS to accommodate your anticipated concurrent read and write operations.

2. Environment separation and content validation

Keep staging tests and experimental schema changes strictly separated from production editorial work:

  • Use distinct environments: On the Pro plan, configure a separate staging environment alongside production to test new schema migrations and preview content safely.
  • Review published entry states: Confirm that all entries intended for launch have a status of published. Entries saved as draft are not returned by the Delivery API.
  • Validate field constraints: Ensure required fields, unique slugs, and relation references are populated across all entries to prevent frontend rendering errors.

3. API key scoping and credential safety

Audit every API key used across your continuous integration (CI) and production hosting environments:

  • Enforce Delivery keys for client apps: Public web applications, mobile apps, and Jamstack static site generators should only ever possess API keys scoped to delivery. Never expose keys with management scopes in client-side bundles.
  • Secure management keys in secret stores: If your backend scripts perform automated content migrations or write operations, store management keys exclusively in secure environment variables or vault secret managers.
  • Revoke temporary onboarding keys: Delete any temporary keys or test credentials created during initial proof-of-concept development.

4. Frontend caching, CDN headers, and webhooks

To achieve sub-50ms page loads and prevent unnecessary API requests, align your frontend caching strategy with SCHMA webhooks:

  • Configure on-demand cache revalidation: Rather than fetching data on every HTTP request, cache delivery responses on your edge server and revalidate on-demand via webhooks.
  • Verify HMAC webhook signatures: Implement cryptographic signature verification (x-schma-signature) on your webhook receiver endpoint using your shared webhook secret to reject unauthorized requests.
  • Test webhook endpoints: Publish a test entry in SCHMA Studio and confirm your webhook receiver receives the event, returns HTTP 200 within 5 seconds, and successfully purges the cached route.

5. Delivery quota monitoring and rate limits

Ensure your monthly traffic aligns with your plan's delivery quotas:

Plan TierMonthly Delivery QuotaRate Limit WindowExcess Response
Free Plan10,000 requests/moBurst rate limitedHTTP 429 Quota Exceeded
Pro Plan (£20/mo UK / €25 EU / $25 RoW)100,000 requests/moElevated throughputHTTP 429 Quota Exceeded
Max PlanCustom Enterprise QuotaDedicated edge throughputCustom SLA (Coming Soon)

Monitor the X-Quota-Remaining header in API delivery responses or check Settings > Usage in Studio before major product launches or marketing campaigns.

Production readiness verification sign-off

Before flipping DNS records to point to your new site, complete this final verification checklist:

  • [ ] Database host has automated snapshots and SSL enabled.
  • [ ] Production frontend uses a read-only Delivery API key.
  • [ ] Webhook revalidation endpoint responds with 200 OK and validates x-schma-signature.
  • [ ] Live preview URLs resolve properly in SCHMA Studio.
  • [ ] Critical content types have published entries.
  • [ ] Workspace membership is restricted to authorized team members.