▸Example Segment (Twilio) call (the "before")
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")
})
Closed-source analytics SDKs require you to trust vendor claims about behaviour. Open-source SDKs let your security team verify those claims from source. For regulated industries this is often a procurement-gating requirement. Respectlytics's SDKs are MIT-licensed and fully open; the server is AGPL-3.0.
☑Remove Segment (Twilio) cleanly
-
1
Remove the Segment Analytics SDK from your build (
Analytics-Swift/analytics-android/@segment/analytics-react-native/segment_analytics_flutter) -
2
Remove
Analytics.client(writeKey: ...)andanalytics.track(...)call sites — replace withRespectlytics.track("event_name") -
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
Delete the Segment workspace's mobile source once events have stopped flowing
-
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 — open-source sdk + server
| Segment (Twilio) | Respectlytics | |
|---|---|---|
| SDK source publicly available | — see tool note above | Yes (MIT) |
| Server source publicly available | — typically no | Yes (AGPL-3.0) |
| Reproducible builds from source | — varies | Yes (CI publishes from same commit) |
| Fork-and-modify allowed | — varies by license | Yes |
| Public commit history | — typically no | Yes (GitHub) |
❓Frequently asked questions
Where can we audit the source?
GitHub: github.com/respectlytics. Each SDK has its own repository with source, tests, CI configuration, and release tags. The server lives in a separate repo with the same conventions.
Are the published binaries reproducible from source?
Yes — CI builds use deterministic build commands. The artifacts published to CocoaPods / SPM / Maven Central / npm / pub.dev are produced by the same pipeline that runs against each commit. Reproducible builds are a goal we test against; report any discrepancy as an issue.
Can we modify the SDK and ship our fork?
Yes — MIT permits modification and redistribution with attribution. Many enterprises fork to adjust logging, add internal tracing, or vendor the SDK into their build.
Why MIT for SDK and AGPL for server?
Standard split for source-available SaaS (GitLab, Sentry, MinIO, Plausible). MIT on the SDK maximises consumer freedom — your app picks up the dependency without obligation. AGPL on the server prevents competing closed-source SaaS forks while allowing internal self-hosting freely.