Verified subscriptions
Apple, Google Play, and Stripe receipts verified server-side. One entitlement model across rails. isEntitled("pro") resolves in under 50ms — your paywall never waits.
Verify revenue. Understand behaviour. Catch errors. Crossdeck connects all three to the same customer — so you know who broke, what they did, and what you stand to lose.
Platform
Who's paying. What they're doing. What's breaking. Crossdeck answers all three from one SDK install.
Apple, Google Play, and Stripe receipts verified server-side. One entitlement model across rails. isEntitled("pro") resolves in under 50ms — your paywall never waits.
Sessions, page views, custom events, funnels, cohorts. Privacy-first by default — no third-party cookies, identifiers hashed on-device. Same SDK as your subscriptions and errors.
No PII required · GDPR-cleanUncaught JavaScript exceptions, unhandled promise rejections, network failures — captured the moment they happen. On paid plans, every error comes with a plain-English summary telling you which paying customer was affected.
Real-time on every tierEvery subscription event, every page view, every error lives on the same customer record. So you can see exactly what the user was doing — and paying — when something broke.
One SDK · iOS · Android · WebWhy Crossdeck exists
Today this lives in three separate tools. RevenueCat for subscriptions. Mixpanel for behaviour. Sentry for errors. Three SDKs, three identity systems, three dashboards. None of them know about the others. Crossdeck puts all three on the same timeline.
Verified Apple, Google Play, and Stripe receipts. One entitlement model. Real-time access decisions across rails.
What users did before they paid, churned, or hit a wall. Privacy-first, no third-party cookies, no cross-app tracking.
Uncaught exceptions, network failures, runtime errors. Plain-English summaries on paid plans tell you exactly which paying customer was affected.
Install
Add the SDK. Configure with your public key. Identify your user. Three lines of code activate subscriptions, analytics, and error capture together. Add new pillars later by toggling a flag — no second SDK, ever.
import { Crossdeck } from "@cross-deck/web";
// One init. Subscriptions + analytics + errors all activate together.
Crossdeck.init({
publicKey: "cd_pub_live_xxx",
});
await Crossdeck.identify(user.id);
// Behavioural analytics — auto-tracks page views and sessions.
Crossdeck.track("Checkout.started");
// Real-time entitlement check — under 50ms, no await.
if (Crossdeck.isEntitled("pro")) {
showProFeatures();
}
// Errors are captured automatically. Or report a caught one:
try { await processCheckout(); }
catch (err) { Crossdeck.captureError(err); }
Crossdeck only marks a step complete when it observes the evidence. No manual ticking, no false starts.
Replace three vendors
Today, paid apps install RevenueCat for subscriptions, Mixpanel or TelemetryDeck for analytics, and Sentry for errors. Three SDKs, three identity systems, three invoices. Crossdeck does all three on one install.
| Capability | RevenueCat | TelemetryDeck | Sentry | Crossdeck |
|---|---|---|---|---|
| Verified subscriptions across rails | Yes | No | No | Yes |
| Behavioural analytics (events, funnels) | No | Yes | No | Yes |
| Real-time error capture | No | No | Yes | Yes |
| Errors with paying-customer context | No | No | No | Yes |
| Plain-English error summaries | No | No | No | Yes |
| One SDK across iOS, Android, web | Multiple | Multiple | Multiple | Yes |
| Free until your app earns $1,500/month | No | No | No | Yes |
| Flat-rate pricing (no percentage of revenue) | No | Yes | Yes | Yes |
Trust
Crossdeck is built to feel like infrastructure. The trust comes from architecture, not assurance copy.
Apple receipts checked with JWS. Stripe webhooks verified by signature. Google Play notifications validated end-to-end. The client can never grant access on its own.
Apple .p8 keys and Stripe secrets live in encrypted secret storage. Only your public SDK key ships with your app. Private keys never reach a browser or a phone.
Webhooks are real-time signals, not the final truth. Scheduled reconciliation against Apple, Google, and Stripe catches missed events and keeps the ledger authoritative.
Verified subscriptions, behavioural analytics, and real-time errors — on one customer timeline. Free forever up to $1,500 monthly app revenue. No credit card required.