Legal Updated April 8, 2026

Privacy & Data Policy

Understand how Omnio stores, protects, and processes your wearable and health data, including imports, retention, and account security.

What data Omnio collects

Omnio collects health and fitness data from the wearable devices and apps you choose to connect. This includes:

  • Wearable data — Sleep metrics, heart rate, HRV, activity, workouts, readiness/recovery scores, body temperature, SpO2, respiratory rate, and other biometrics from Oura, Garmin, and Whoop.
  • Nutrition data — Calories, macronutrients, and micronutrients from MyFitnessPal, Cronometer, or CSV imports.
  • Strength training data — Exercise logs, sets, reps, weight, and RPE from LiftLog, Hevy, or CSV imports.
  • Manual check-ins — Subjective data you enter (mood, energy, soreness ratings).
  • Body composition — DEXA scan data and bloodwork results you upload.
  • Account data — Email address, password hash, health profile (age, sex, height, weight), and timezone.

Omnio does not collect:

  • Location or GPS data
  • Contacts, photos, or files unrelated to health data
  • Advertising identifiers
  • Data from devices you haven’t explicitly connected

How your data is stored

  • Database — Account data, conversation history, training plans, and manual entries are stored in a PostgreSQL database hosted on Hetzner Cloud infrastructure in Europe.
  • Time-series metrics — All wearable and nutrition metrics are stored in VictoriaMetrics, a purpose-built time-series database. Each user’s data is isolated by a unique user ID label.
  • Credentials — OAuth tokens and API credentials for your connected accounts are encrypted at rest using AES-256 via a credential vault. Your Garmin password is never stored — only the session token.
  • AI chat history — Conversations with the AI health coach are stored for 30 days, then automatically deleted. You can export or delete conversations manually at any time.

How your data is processed

  • Composite scores — Omnio computes personalised health scores (Sleep, Readiness, Activity, Nutrition, Metabolic Health, Overall Health) from your raw metrics using evidence-based weighting models. These are computed on our servers and stored in VictoriaMetrics.
  • Bayesian learning models — If you use the adaptive training features, Omnio trains per-user machine learning models (recovery curves, volume tolerance, schedule preferences, etc.) from your historical data. These models are stored as JSON in your user profile and are never shared with other users.
  • AI chat — When you use the AI health coach, your question and relevant health context are sent to OpenAI or Anthropic (depending on configuration) to generate a response. Only the minimum necessary context is included. AI providers are contractually prohibited from training on your data.

Data isolation

Every user’s data is isolated:

  • Time-series queries are scoped by user ID — you cannot query another user’s data.
  • Database records use row-level user ID filtering.
  • API endpoints verify authentication and authorisation on every request.
  • There is no shared data pool or anonymised aggregate data.

Your rights

  • Export — You can export your AI chat history in Markdown, JSON, or plain text format from the chat interface.
  • Delete account — Contact [email protected] to request full account deletion. This removes your account, all stored metrics, training plans, chat history, and connected account credentials.
  • Disconnect devices — You can disconnect any data source at any time from Sources → Accounts. This stops future syncs but does not delete previously synced data. Contact support to request historical data deletion.
  • Revoke access — You can revoke Omnio’s access from within Oura, Garmin, or Whoop at any time. This prevents future token refreshes and effectively disconnects the source.

Third-party services

ServicePurposeData shared
Oura APIWearable data syncOAuth tokens
Garmin ConnectWearable data syncSession tokens
Whoop APIWearable data syncOAuth tokens
OpenAI / AnthropicAI health coach responsesConversation context (question + relevant metrics)
Hetzner CloudInfrastructure hostingAll data is hosted here
Plausible AnalyticsCookie-less, privacy-first web analytics on the blogPage views only, no personal data

Security practices

  • All connections use TLS (HTTPS).
  • OAuth tokens and credentials are encrypted at rest (AES-256).
  • API rate limiting protects against abuse.
  • Authentication uses secure session tokens with CSRF protection.
  • LLM outputs are sanitised to prevent XSS.
  • No data is sold, rented, or shared with advertisers.

Contact

For privacy questions, data export requests, or account deletion: [email protected]