Production Checklist
| Area | Verify |
|---|---|
| Credentials | Production uses pk_live_... publishable keys and server-only secret keys. |
| Experience | The production page points at the intended experienceId. |
| SDK defaults | Browser SDK config does not override the default environment or API URL. |
| Handoff | Granted customers pass through your trusted server or checkout flow. |
| Logging | Debug logging is disabled in production. |
| Copy | Gated, denied, and error states use generic customer-safe language. |
| Fallback | Your app has a plan if the launch experience cannot be rendered. |
Use Production Credentials
Configure browser-safe production values through your platform’s public environment variable mechanism.Handle Admission Safely
When a customer receives a grant, send it to the next trusted step. Avoid placing grants in URLs or third-party telemetry.JourneyView, read the grant from the public sequence view:
Avoid Development Overrides
Use the SDK defaults for environment and API URL. Do not ship customer-facing code that overrides them unless your Fanfare contact has directed you to do so. Use debug logging only during guided troubleshooting, and remove it before launch. Production logs and analytics should capture high-level outcomes, such as “admitted” or “checkout started”, rather than raw grants, snapshots, or session values.Content Security Policy
If your site uses a Content Security Policy, allow browser connections to Fanfare.Fallback Behavior
Decide what the product page should do if the SDK cannot initialize or the experience is unavailable.Platform Notes
Vercel
Set public browser values in Vercel project settings or with the CLI:Netlify
Set public values in site environment settings:Docker
Pass public browser values at build time only if your framework embeds them into the client bundle.Post-Deployment Verification
After deployment:- Visit the production page in a clean browser profile.
- Confirm the widget or custom UI renders the expected public state.
- Confirm the SDK uses its default environment and the production experience ID is configured.
- Confirm admitted-state handoff reaches your backend or checkout flow.
- Confirm debug logging is off.
- Confirm analytics and error tracking do not include raw grants or snapshots.
- Repeat with an existing session and a second browser tab.
Rollback Plan
Use your normal release controls so you can pause or bypass the integration quickly if needed:- Feature flag the launch experience.
- Keep fallback product-page copy ready.
- Keep the previous deployment available.
- Route support messaging through your normal customer support path.
Next Steps
- Testing - Review test coverage before launch.
- React Components - Check widget props and callbacks.
- Public Integration Model - Keep public docs and customer copy contract-first.