Efferent

Efferent — Privacy Policy

Effective date: 2026-09-07 · Last updated: 2026-10-04

This document describes how the Efferent iOS app (dev.korchasa.efferent) and its archive service handle your data. The app and the service are published by Stanislav Korchagin.

Short summary

What the app reads on your device

With your permission, Efferent reads from Apple Health the categories you allow in the Health permission sheet: activity totals (steps, walking and running distance, active and basal energy, flights climbed, exercise and stand minutes) and records (sleep, workouts, heart rate, heart rate variability, resting heart rate, respiratory rate, blood oxygen). Apple never tells an app which categories you allowed; the app simply receives nothing for a category you declined. You can change the permission at any time in Health → your picture → Apps and Services → Efferent.

Health data is used for one purpose only: to build the day objects described below and send them to your archive. It is never used for advertising, marketing, or research, never sold, and never shared with data brokers, in line with Apple's HealthKit requirements.

What the app writes into Health

An AI agent you have connected can ask the phone to log an entry, and the phone writes it into Apple Health on your behalf. Seven kinds of entry can be written and nothing else: sleep, dietary energy, protein, carbohydrates, fat, water and body mass. Nothing the app reads is ever written back on its own. Write permission is asked for in the same Health sheet as reading, and you can withdraw it at any time in Health → your picture → Apps and Services → Efferent.

An agent can only ever reach the entries this app itself wrote at its request: each one carries the app's own HealthKit sync identifier, the app looks for no others, and HealthKit does not let one app change or delete another app's samples. Nothing the Apple Watch, the Health app or any other app recorded can be touched. Before the phone replaces or removes one of its own entries, it reads the record it is about to displace and keeps a copy on the device, because that is the last moment anything can read it. The Agent edits screen lists everything an agent has asked for and what became of each item, and every item can be taken back: an entry that was added is removed again, and one that was replaced or removed has the record that stood there written back into Health.

The archive service is told how many items were written and a code for each one that was not. It is never told the metric, the value or the time, so it cannot know what an agent asked for or what you decided.

What is stored on your device

The app does not keep a copy of Health; Health itself remains the source. It stores bookkeeping only: for each day whether it still has to be sent and a fingerprint of what was sent last time, which day each Health record belongs to, and where each reader stopped. It also keeps the details of every entry an agent asked it to write — the metric, the value and the time — and, whenever one of those entries replaced or removed an earlier one, a copy of the record that was displaced; the service is never told any of it, and this is the only place it survives. That is what the Agent edits screen shows and what putting a record back uses. And it keeps three keys in the iOS Keychain: the reading key that seals your days, the signing key that proves uploads come from your phone, and the editor key that an agent signs its requests with, handed to that agent in the same connection prompt. Deleting the app deletes all of this. Deleting the app also deletes the reading key, so keep the connection prompt you shared with an agent if you want to read the archive afterwards.

What leaves your device

Each day of Health is encrypted on the phone (HPKE with X25519, HKDF-SHA256 and ChaCha20-Poly1305) and uploaded to the archive service at api.efferentapp.com, a Cloudflare Worker storing objects in Cloudflare R2. What the service receives:

The service does not receive the reading key, your name, your Apple ID, your email address, a device identifier, or the contents of any Health reading.

What the service learns

Which dates are in your archive, how many bytes each sealed day takes, and when each was written. That is as coarse as it can be while still answering a request: the date is the address. Encryption hides contents, not the fact of them — the service can tell that your archive begins in 2015 and that a day is larger than another, and nothing finer.

It also learns, because it can wake your phone, the moments it did so — which are the moments an agent asked for an entry. The wake itself says nothing: no count, no metric, no value, no date, and nothing about what the phone did with the request. Your phone reads the waiting entry from the archive itself and decides everything that follows.

Who can read your archive

Only a holder of your reading key. The phone creates it and keeps the private half in the Keychain; the developer never has it. When you tap Connect, the app shows a prompt containing the archive's MCP address and the reading key. Share it only with an agent you trust: whoever holds that prompt can read every day in the archive. The agent decrypts on its own machine; the archive service is never handed the key and cannot open a day. What an agent does with decrypted data is governed by that agent's own privacy policy, not this one.

Retention and deletion

Sealed days are kept until you delete them, so that an agent can answer a question months later without your phone being awake. Deleting the app stops all uploads immediately but does not delete the archive. To delete an archive, open a support issue on GitHub (see Contact) quoting the archive identifier from the MCP address; the sealed days are removed within 30 days. Because the service holds only ciphertext, this deletes data nobody but you could read in the first place.

Payments

Efferent will be a one-time purchase handled entirely by Apple through the App Store; it is not on sale yet. The app contains no in-app purchases and no subscriptions, and the developer receives no payment details.

Children's privacy

The app is not directed at children and does not knowingly collect personal data from anyone under 13.

Cookies and tracking

The Efferent app sets no cookies and embeds no third-party trackers, analytics scripts, or advertising identifiers. It is not configured for tracking.

This website (the pages on efferentapp.com, including this one) uses Microsoft Clarity, a web-analytics service by Microsoft, to understand how visitors use the site — aggregated traffic, engagement, and anonymized session interactions. Clarity sets cookies and is loaded only after you accept the cookie banner; if you decline, no Clarity cookies are set and no analytics data is sent. See Microsoft's privacy statement. To change your choice later, clear this site's data in your browser.

Your rights

You can stop collection at any time by revoking Health access or deleting the app, export everything by pointing an agent or the reference reader at your archive with your key, and delete the archive as described above. Depending on where you live you may have further rights under laws such as the GDPR or the CCPA; exercise them through the contact below.

Changes to this policy

If the app or the service changes how it handles data, this page will be updated and the effective date at the top will change. Material changes will also be noted in the App Store release notes.

Contact

Questions, concerns, or data requests: GitHub Issues. Privacy contact: [email protected].