Adopture Docs
Privacy & Security

Data Handling

Technical details of how Adopture handles and protects analytics data.

This page covers the technical details of how analytics data flows through Adopture and what exactly is stored.

Event Data Flow

  1. SDK collects event data on the device, including the event name, optional properties, and device context
  2. User identifiers are hashed with SHA256 before leaving the device — the original identifier is never transmitted
  3. Events are sent to the Adopture API via HTTPS
  4. The server extracts geolocation from the IP address and immediately discards the IP
  5. Enriched events (with country and region but without IP) are stored in the analytics database

What Is Stored

The following data is stored in the Adopture analytics database for each event:

  • Event metadata: Event type, name, and custom properties
  • Hashed identifiers: Daily, monthly, and 90-day rotation identifiers (all SHA256 hashed)
  • Session ID: A randomly generated UUID, unique per session
  • Device context: Operating system, OS version, app version, locale, device type, and screen dimensions
  • Geolocation: Country, region, and approximate latitude/longitude (city-level)
  • Timestamp: When the event occurred

What Is NOT Stored

The following data is explicitly never stored:

  • IP addresses
  • Original user IDs (only hashed versions exist on our servers)
  • Device advertising IDs (IDFA, GAID)
  • Cookies or browser fingerprints
  • Names, emails, or other personally identifiable information

Encryption

All data in transit is encrypted via TLS/HTTPS. Events sent from the SDK to the Adopture API are always encrypted in transit.

Hashing Details

The SDK uses SHA256 with your app key as a salt to generate hashed identifiers. Three types of hashed identifiers are generated:

  • Daily hash — Rotates every 24 hours. Used for counting unique users per day.
  • Monthly hash — Rotates every 30 days. Used for counting unique users over longer periods.
  • Retention hash — Rotates every 90 days. Used for retention analysis across cohorts.

This rotation scheme allows tracking unique users over meaningful time periods without creating persistent identifiers that could be used to build long-term user profiles.

On this page