---
title: Integration checklist
description: Ship-ready checklist for product apps integrating the Platform.
---

# Integration checklist

## Admin

- [ ] Application created and `active`
- [ ] Entitlement codes defined to match product gates
- [ ] Paid plans mapped to entitlements
- [ ] Optional free plan for paywall comparison (no entitlements required)
- [ ] Paywall `main` active with ordered prices
- [ ] Public key issued (`rb_pub_…`)
- [ ] Payments enabled + provider credentials for paid apps

## Client

- [ ] SDK configured with `YOUR_API_URL`, `YOUR_APP_CODE`, `YOUR_PUBLIC_KEY`
- [ ] `getAccessToken` returns end-user JWT after login
- [ ] `registerUser` after signup/signin
- [ ] `registerDevice` with stable installation id
- [ ] Feature gates use entitlement **codes**
- [ ] Free-local features never require network
- [ ] Paid offers call `createPayment` only when `requires_purchase`
- [ ] Entitlement snapshot cached for offline
- [ ] Return URL completes payment UX and refreshes entitlements
- [ ] No `service_role` / payment secrets in the client

## Verification

- [ ] Anonymous device can load paywall with public key
- [ ] Logged-in user appears in admin users list
- [ ] Device appears in admin devices list
- [ ] Test purchase grants expected entitlement codes
- [ ] Offline: free works; cached paid works until expiry
