Respectlytics Respect lytics
Menu
Flutter EU data residency

How to add Flutter analytics with EU data residency

Where your analytics data physically lives matters for cross-border data-transfer regulations, jurisdictional reach, and operational latency. Respectlytics's managed cloud stores all event data on EU infrastructure; the self-hosted option lets you pin storage to any region you choose. Respectlytics's Flutter SDK targets either deployment seamlessly. Below: the deployment topology, what's included with EU residency, and the FAQ.

Install the Flutter SDK

yaml Respectlytics
# pubspec.yaml
dependencies:
  flutter:
    sdk: flutter
  respectlytics_flutter: ^3.0.0

Pure Dart — no platform channels for analytics. Same code on every platform Flutter compiles to (iOS, Android, web, macOS, Windows, Linux). On web, events are sent via the REST API; mobile platforms use the same path.

Initialize Respectlytics in Flutter

dart Respectlytics
import 'package:flutter/material.dart';
import 'package:respectlytics_flutter/respectlytics_flutter.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Respectlytics.configure(appKey: '<YOUR_APP_KEY>');
  runApp(const MyApp());
}

Initialize in main() after WidgetsFlutterBinding.ensureInitialized() and before runApp(). The future completes immediately on configuration; events queued before completion are flushed once the network is available.

Privacy & implementation notes

EU data residency is a frequent gating requirement for B2B SaaS sold to European enterprises and to public-sector buyers. Respectlytics's EU-default deployment + self-host fallback covers both "vendor must store EU data in EU" requirements and "no data leaves our infra" requirements without changing client code.

The Schrems II ruling (2020) significantly raised the bar for cross-border transfers from EU to non-adequate jurisdictions. EU-default storage avoids the question entirely — there's no transfer to a non-adequate jurisdiction because the data never leaves the EU. Consult your legal team to determine if this matters for your situation.

The Flutter SDK is pure Dart. No MethodChannel, no platform-specific iOS or Android plugin code. The same code runs on every platform Flutter supports — including web and desktop targets. This eliminates one common audit surface ("what's the Android implementation doing?").

Always initialize after WidgetsFlutterBinding.ensureInitialized() and before runApp(). If you skip the binding step, the configure call will throw on platforms that need a binding for asynchronous I/O. The SDK documentation example uses this pattern by default.

How this compares to other analytics SDKs

Data residencyFirebase AnalyticsMixpanelAmplitudeRespectlytics (cloud)Respectlytics (self-hosted)
Default storage regionUSUSUSEUOperator-chosen
Cross-border transfer mechanismSCCsSCCsSCCsNo transfer (EU-to-EU)No transfer (operator-internal)
Operator visibility on raw dataYesYesYesLimitedYou control
Pin to specific countryLimitedNoNoEU regionsAny region operator chooses

Frequently asked questions

Which EU country does Respectlytics's cloud use?

Currently Frankfurt, Germany (DigitalOcean's eu-central-1 region). The specific region is documented in the operational FAQ; if your compliance posture requires a specific country, the self-hosted option lets you pin to any region.

Does Respectlytics make any cross-border transfers of stored event data?

Stored event data: no. Operational metadata (admin user account info, billing) may be processed in regions outside the EU per the privacy policy; consult that for the authoritative breakdown. Stored event data from your apps stays in the EU on the cloud product.

What about backups and disaster recovery?

Backups are stored in the same EU region as the primary database, encrypted at rest. There is no cross-region replication on the cloud product.

How do we verify residency for an audit?

(a) The Respectlytics privacy policy + DPA states the storage region; (b) DigitalOcean's compliance pages list the data centre's certifications; (c) for self-hosted, you operate the database, so the audit happens against your own infrastructure documentation.

Related 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.