Respectlytics Respect lytics
Menu
Replace Firebase Analytics Self-hosted deployment

Replace Firebase Analytics with self-hosted analytics

Migrate from Firebase Analytics to self-hosted Respectlytics. AGPL-3.0 server, MIT SDK. Helps developers avoid collecting personal data.

Example Firebase Analytics call (the "before")

swift Respectlytics
import FirebaseAnalytics

// Default Firebase event with rich per-user metadata:
Analytics.logEvent("purchase", parameters: [
    "value": price,
    "currency": "USD",
    "transaction_id": UUID().uuidString,
    "user_id": userId,
])

Regulated industries — telehealth, fintech, government, defence — frequently require that analytics data never leave operator-controlled infrastructure. Respectlytics's self-hosted option (AGPL-3.0 server + MIT-licensed SDKs) lets you run the entire analytics stack on your own hardware. The SDK is the same; only the API endpoint changes.

Remove Firebase Analytics cleanly

  1. 1

    Remove pod 'Firebase/Analytics' from Podfile (and any Firebase/Core pulled by it that isn't needed elsewhere)

  2. 2

    Remove implementation 'com.google.firebase:firebase-analytics-ktx' from build.gradle.kts

  3. 3

    Remove @react-native-firebase/analytics from package.json

  4. 4

    Remove firebase_analytics: from pubspec.yaml

  5. 5

    Remove FirebaseApp.configure() and Analytics.logEvent call sites — replace with Respectlytics.configure() and Respectlytics.track("event_name")

  6. 6

    Delete the GoogleService-Info.plist and google-services.json if no other Firebase product remains in the app

  7. 7

    Run ./gradlew :app:dependencies and confirm play-services-ads-identifier is no longer in the runtime classpath

Firebase Analytics vs Respectlytics — self-hosted deployment

Firebase AnalyticsRespectlytics
Self-hostable— see tool note above (typically no)Yes (AGPL-3.0 server)
Operator-managed database— typically noYes (you choose Postgres deployment)
Air-gapped deployment possibleNoYes
SDK license— variesMIT (permissive)
Server license— typically closedAGPL-3.0 (source-available)

Frequently asked questions

What's the AGPL-3.0 obligation in practice?

If you modify the server source AND offer the modified server as a service to third parties over a network, you must publish your modifications under the same license. Internal self-hosting for your own apps does NOT trigger publication obligations. Consult your legal team for specific applicability.

What infrastructure do we need?

A Linux host (or container) running Python 3.12 + Postgres 14+ + a reverse proxy (nginx / Caddy). The default configuration scales to ~10 million events/day on a 4-vCPU / 8 GB box; larger deployments scale horizontally. See the public README for hardware sizing guidance.

Do we get updates automatically?

No — self-hosted deploys pull the latest source and run migrations on a cadence you control. We publish release notes for each version. No auto-update; you decide when to upgrade.

Are the SDKs AGPL too?

No — SDKs are MIT-licensed. Fork and modify freely with no copyleft obligation. Only the server is AGPL.

Related migration guides

Track what matters. Collect nothing you don't.

Five-field event schema, RAM-only event queue, no IDFA, no AAID, no persistent user IDs. Helps developers avoid collecting personal data in the first place.