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=requireorsslmode=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
stagingenvironment alongsideproductionto 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 asdraftare 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 withmanagementscopes in client-side bundles. - Secure management keys in secret stores: If your backend scripts perform automated content migrations or write operations, store
managementkeys 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 Tier | Monthly Delivery Quota | Rate Limit Window | Excess Response |
|---|---|---|---|
| Free Plan | 10,000 requests/mo | Burst rate limited | HTTP 429 Quota Exceeded |
| Pro Plan (£20/mo UK / €25 EU / $25 RoW) | 100,000 requests/mo | Elevated throughput | HTTP 429 Quota Exceeded |
| Max Plan | Custom Enterprise Quota | Dedicated edge throughput | Custom 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.