# Perchpush > Perchpush is a multi-channel messaging platform for app and web developers: push notifications (Android, iOS, web), in-app messages, an in-app inbox, email and SMS, sent through the customer's own Firebase, APNs, VAPID, SMTP and SMS credentials. SDKs for Flutter, React Native, iOS (Swift), Android (Kotlin), the web and Node.js, plus a REST API. - Apps use a public client key (`pk_…`); servers use a secret key (`sk_…`) that must never ship in client code. - `identify(userId, signature)` links devices to people; the signature is hex HMAC-SHA256 of the user id with the identity secret, computed on the backend. - Push credentials (Firebase service account, APNs key, VAPID keys) are added by a human in the dashboard, not by code. - A per-app setup brief for coding agents: `GET https://perchpush.com/api/v1/agent-brief` with header `X-App-Key: pk_…` (public key only). ## Docs - [Agent docs (markdown)](https://perchpush.com/docs/agents.md): every SDK and the REST API in one file, with verified method names - [Documentation](https://perchpush.com/docs): the full human-readable docs - [REST API](https://perchpush.com/docs#rest): server and SDK endpoints, keys and scopes - [Flutter](https://perchpush.com/docs#flutter), [Web push](https://perchpush.com/docs#web), [React Native](https://perchpush.com/docs#react-native), [Native iOS and Android](https://perchpush.com/docs#native) - [Users and identity verification](https://perchpush.com/docs#identity) - [Production checklist](https://perchpush.com/docs#production) ## Optional - [Product overview](https://perchpush.com/) - [Moving from OneSignal](https://perchpush.com/onesignal-alternative) - [Push preview tool](https://perchpush.com/tools/push-preview) - [Blog](https://perchpush.com/blog) - [Status](https://perchpush.com/status)