Respectlytics Respect lytics
Menu
Replace Segment (Twilio) Self-hosted deployment

Replace Segment (Twilio) with self-hosted analytics

Migrate from Segment (Twilio) to self-hosted Respectlytics. AGPL-3.0 server, MIT SDK. Helps developers avoid collecting personal data.

Example Segment (Twilio) call (the "before")

kotlin Respectlytics
import com.segment.analytics.kotlin.android.Analytics

val analytics = Analytics("YOUR_WRITE_KEY", context) {
    collectDeviceId = true
    flushAt = 20
}

analytics.identify(userId, traitsOf("email" to email, "plan" to "pro"))
analytics.track("Paywall Purchase", buildJsonObject {
    put("value", price)
    put("currency", "USD")
})

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 Segment (Twilio) cleanly

  1. 1

    Remove the Segment Analytics SDK from your build (Analytics-Swift / analytics-android / @segment/analytics-react-native / segment_analytics_flutter)

  2. 2

    Remove Analytics.client(writeKey: ...) and analytics.track(...) call sites — replace with Respectlytics.track("event_name")

  3. 3

    Critically: review your Segment destinations and decide which destinations you still need data flowing to from Respectlytics (most don't — that's the point)

  4. 4

    Delete the Segment workspace's mobile source once events have stopped flowing

  5. 5

    Audit and remove the downstream destination SDKs that Segment was the only reason to forward to (e.g., Facebook Pixel, Google Ads)

Segment (Twilio) vs Respectlytics — self-hosted deployment

Segment (Twilio)Respectlytics
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.