Skip to main content

Go-Live Checklist

Use this checklist to verify everything is configured before submitting your application for marketplace review. Complete each item in order — later items depend on earlier ones.

Organization Setup

  • Organization created — Your organization exists and has a name, logo, and support email configured. (Guide)
  • Provider status verified — Your organization has been approved as a provider. Check at /developer/settings/provider-status.
  • Team members invited — Any teammates who need access have been invited with appropriate roles.

Application Registration

  • Application registered — Your application is created at /developer/applications with all required fields completed. (Guide)
  • Callback URL configured — Your application correctly handles the ?gwSession=<JWT> parameter at your callback URL.
  • JWKS endpoint accessible — Your JWKS endpoint returns valid keys and is publicly accessible over HTTPS.

SDK Integration

  • SDK installed — The @mission_sciences/provider-sdk package is installed in your application. (Quickstart)
  • SDK initialized — The SDK is initialized with your application ID and correct JWKS URI.
  • Session lifecycle handled — Your app responds to session.started, session.paused, session.resumed, and session.ended events.
  • Warning modal functional — The session expiry warning displays when time is running low.
  • Session end handled gracefully — Your app shows an appropriate message and cleans up state when a session expires.

Authentication

  • JWT validation working — Your application validates the session JWT signature against the JWKS endpoint. (Auth Providers)
  • Claims extracted correctly — Your app reads sessionId, userId, orgId, applicationId, tier, and durationMinutes from the JWT.
  • Expired tokens rejected — Your app returns an appropriate error for expired or invalid tokens.
  • HTTPS enforced — Your callback URL and all endpoints use HTTPS (no HTTP in production).

Testing

  • Test session confirmed — You have successfully completed a full session in the development environment. (Testing)
  • Session pause/resume tested — Pausing and resuming a session works correctly.
  • Session extension tested — If you offer extensions, verify the extension flow works end-to-end.
  • Error scenarios tested — Your app handles network failures, invalid tokens, and session conflicts gracefully.
  • Multiple concurrent users tested — Your app supports multiple simultaneous sessions without interference.

Marketplace Listing

  • Pricing configured — Base price, session duration, and extension pricing are set in SMART tokens. (Guide)
  • Description written — A clear, accurate description of your application's capabilities.
  • Screenshots uploaded — At least 3 screenshots showing real application functionality (not mockups).
  • Categories and tags set — Primary category selected and relevant tags added.
  • Listing previewed — You have reviewed the listing in card view and full page view.
  • Provider Agreement accepted — The organization Owner has accepted the Provider Agreement. (Guide)
  • Stripe Connect configured — Your Stripe account is connected and showing "Connected" status. (Guide)
  • Bank account verified — Stripe has verified your bank account for payouts.
  • Tax information provided — Required tax documents submitted through Stripe.

Production Readiness

  • Production environment tested — Your application runs correctly in the production environment with production API keys.
  • Performance acceptable — Your application loads within 3 seconds and handles session initialization without errors.
  • Uptime monitoring configured — You have monitoring in place to alert you if your application goes down. Consider BetterUptime, Datadog, or a similar service.
  • Status page available — A public status page where users can check service availability (optional but recommended).
  • Support channel defined — Users have a way to report issues (email, in-app chat, or help desk).
  • Incident response plan — Your team knows how to respond if the application goes down during active sessions.

Final Submission

Once all items above are checked:

  1. Navigate to /developer/applications/[your-app]/listing.
  2. Click Submit for Review.
  3. Your application enters the review queue (2-3 business days).
  4. Monitor your email for the review outcome.
tip

If your submission is rejected, you receive specific feedback on what to fix. Address the issues and resubmit — most rejections are resolved in a single round of feedback.

Post-Launch

After your application is approved and live on the marketplace:

  • Monitor analytics at /developer/analytics — track sessions, revenue, and user engagement.
  • Respond to user feedback — ratings and reviews affect your marketplace ranking.
  • Keep your application updated — regular updates signal active maintenance to users.
  • Watch your uptime — repeated downtime during sessions leads to refund requests and may trigger a listing review.

Quick Reference

StepWhereWho
Create organization/settings/organizationsAnyone
Apply for provider/developer/settings/provider-statusOwner
Register application/developer/applicationsOwner, Admin, Developer
Configure listing/developer/applications/[app]/listingOwner, Admin, Developer
Accept agreement/developer/settings/provider-agreementOwner only
Connect Stripe/developer/settings/payoutsOwner, Admin
Submit for review/developer/applications/[app]/listingOwner, Admin, Developer