A private, single-user integration with the Oura API. This page states exactly what it reads, where that data is stored, and who can see it. The short version: it reads two scopes, stores them on hardware in the operator's home, and shares them with nobody.
daily · heartrateThis application has exactly one user: its operator, named above. It is a personal sleep-tracking research tool, not a product or service offered to anyone else. No account can be created on it, and no other person's data passes through it.
The application requests two OAuth scopes and no others — daily and
heartrate. Within those, it retrieves:
It does not request the personal scope (age, sex, height,
weight) or the email scope, and it does not read tags, workouts, sessions,
SpO₂, stress, or ring configuration.
Retrieved data is written to a time-series database running on a single computer on the operator's home network. It is not stored in any cloud service, not replicated to a hosting provider, and not synchronised to any file-sharing service. Records are filed under a pseudonymous participant code rather than a name.
Nobody. The data is not sold, licensed, published, or disclosed to any third party. There is no analytics service, no advertising network, no crash reporter, and no external processor of any kind. The only network connections the application makes are outbound requests to Oura's own API.
Indefinitely, because the purpose is longitudinal — comparing sleep across months is the point. It is retained until the operator deletes it, and the operator is the only person who can.
Authorisation can be revoked at any time from Oura account settings, which immediately stops all further retrieval. Data already stored can be deleted from the database directly; because the operator and the data subject are the same person, no request process is needed.
API credentials are held in files readable only by their owner, and the application refuses to start if it finds them readable by anyone else. All API traffic uses verified TLS; there is no option to disable certificate verification. The database listens only on the local loopback interface and is not reachable from the network.
Any change is published on this page with a new effective date. Because the application has a single user, who is also its operator, there is no separate notification process.