Open Vitals
iOS App · TestFlight beta

Your health data,your destination.

Apple Health is gorgeous — and locked in. Open Vitals pipes your metrics to your own server, your AI agent, or our encrypted relay. You decide what leaves your phone and where it goes.

  • End-to-end encrypted
  • No accounts. No tracking.
  • 70+ HealthKit metrics

Open Vitals

Last sync 2 min ago

Steps

8,742

today

Sleep

7h 23m

last night

Resting HR

58

bpm

VO₂ Max

47.2

mL/kg·min

Local server · your-mac.tail

Built different

Three reasons it exists.

You own where it goes.

Apple Health keeps your data on your phone. We let you choose a second copy that lives on your terms — a server you run, an AI agent you talk to, a notebook in your vault.

  • Local sync to any HTTP server on your network
  • Encrypted cloud relay (max 15 min retention)
  • Custom destinations via open agent skill
iPhone
Your server
192.168.1.42:8080
AI agent
claude · cosmo
Vault
Obsidian / notes
Webhook
POST /api/sync

Encrypted before it leaves your phone.

Open Vitals uses modern crypto (X25519 + ChaCha20-Poly1305). The relay only sees opaque ciphertext. Even if our servers vanish, your past data already left as bytes nobody can read.

  • X25519 key exchange · ChaCha20-Poly1305 cipher
  • Pairing via QR code, out-of-band
  • No account. No password. No tracking ID.
// payload before encryption
{ "steps": 8742, "hr": 58 }
// encrypted with session key
XCHACHA20-POLY1305:
7e3b9a45c2f1...d0e8b421
relay sees only ciphertext

Made for AI agents.

The hard part of Apple Health for AI is plumbing. Open Vitals ships the receiving end as an open-source skill — your agent gets paired, polled, and decrypts payloads with one command.

  • Works with Claude, OpenClaw, Cosmo, custom agents
  • Open-source skill on GitHub (Exapta-Labs/openvitals-skill)
  • Polls on demand or on schedule — your choice
claude — agent
$ claude
> pair my iphone with open vitals
running openvitals skill...
✓ pairing ready
CONNECT_HEX: 4a7f...e21b
scan the QR in the iOS app
paired · waiting for sync

In one minute

From install to first sync.

01

Install the app

Download Open Vitals from the App Store (TestFlight beta now, public soon). Grant access to the HealthKit categories you want to share.

02

Pair with a destination

Your AI agent runs the open-source skill, generates a QR code, and you scan it once. Encryption keys are exchanged out-of-band.

03

Data flows

Tap Sync or let it run hourly. Your agent decrypts payloads on its side. Local sync stays on your network; cloud relay holds ciphertext for 15 minutes max.

70+ metrics

Anything HealthKit exposes.

You toggle each category on or off during pairing. Nothing is sent until you say so.

Activity

  • Steps
  • Distance
  • Active energy
  • Flights climbed
  • Exercise minutes
  • Stand hours

Heart

  • Heart rate
  • Resting HR
  • HRV (SDNN)
  • VO₂ Max
  • SpO₂
  • Respiratory rate

Sleep

  • Total · core · deep · REM
  • Time in bed
  • Sleep efficiency
  • Time to fall asleep

Body

  • Weight
  • Height
  • BMI
  • Body fat %
  • Lean mass
  • Hydration

Workouts

  • Type · duration · calories
  • Heart rate zones
  • Route (when shared)
  • Custom workouts

More

  • Blood glucose
  • Blood pressure
  • Body temperature
  • Mindful minutes
  • Cycle tracking

For AI builders

Bring your own agent.

Open Vitals ships the receiving end as a public skill — drop it into Claude Code, OpenClaw, or your custom agent, and your iPhone's health data becomes a tool your AI can read.

Claude CodeOpenClawCosmoCustom agents
View the skill on GitHub →
Install in 30 seconds
  1. 01git clone https://github.com/Exapta-Labs/openvitals-skill.git ~/skills/openvitals-skill
  2. 02pip3 install cryptography && brew install qrencode
  3. 03export SKILL_DIR="$HOME/skills/openvitals-skill"
  4. 04# point your agent at SKILL_DIR — done

Screens

It looks like a phone app should.

iOS-native, dark by default, every screen purposeful. (Screenshots from TestFlight build — final visuals dropping as the beta progresses.)

pairing.png

Pairing — scan QR

permissions.png

Permissions — toggle metrics

home.png

Home — sync at a tap

history.png

History — every sync logged

Pricing

Free where it matters.

Sync to your own server stays free forever. Pro unlocks our cloud relay and convenience features — pay once or yearly, your call.

For self-hosters

Free

$0forever
  • Local server sync (your network)
  • Manual sync (tap to send)
  • All 70+ HealthKit categories
  • QR pairing · E2E encryption
Get on TestFlight
Best value

For everyone else

Pro

$6.99per year

or $19.99 lifetime

  • Everything in Free
  • Encrypted cloud relay (work from anywhere)
  • Hourly auto-sync when app is active
  • Weekly email health digest
  • Priority support
Join the waitlist

Questions

Stuff worth asking.

Any iPhone running iOS 16 or newer, and any Apple Watch that already syncs to Apple Health. Older models are not supported.

Waitlist

Get the TestFlight invite.

We're in TestFlight beta now and shipping to the App Store soon. Drop your email and we'll send the invite + launch perks.

No marketing emails. Just the invite and a launch note.