This notice is only for the Health app at app.jharrison.io/health. It does not cover any other app on this site.
Its single owner operates Health for their own use. These pages do not publish the operator's name or email. The support email on the Google consent screen is configured in the Google Auth Platform, outside this repository. Railway hosts the app. Railway's own logs and retention are separate from this notice.
Health asks Google for one permission, https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly. That permission can read daily step totals and exercise session summaries for the one Google account that granted it. Health does not request heart rate, GPS, location, profile, settings, or any permission that writes health data.
Health uses a reading to answer the request that asked for it. Health does not sell readings and does not use them for advertising. Health does not keep a history of readings.
The caller is not signed in. The caller presents a bearer credential chosen by the operator. A supported native client can omit the Origin header. If the request includes an Origin header, the origin must match the operator's list exactly. That list has no wildcard. The Host header must be an authorised host. None of these checks replaces the bearer. Health reads health data only after the bearer matches.
The stored grant accepts one Health user id. Health refuses a grant for a different Health user. Publishing the Google consent screen does not open Health to the public.
Health has no health-history database. It stores one encrypted refresh grant. The grant contains the OAuth client id, the client secret, the refresh token, the Health user id, and the single activity and fitness scope. An access token stays in process memory until it expires or the process exits. Health does not write that token as a health record.
During sign-in, the machine that runs the setup command writes a short-lived OAuth state file. That file holds the PKCE verifier and the authorisation URL, which can include the account hint. A successful provision-grant deletes the file. It is not a copy of steps or workouts.
The running server redacts log lines for the bearer, ya29 access tokens, the grant key, and the login hint when that hint is configured. It does not add the client secret or the refresh token to that redactor at startup. A crash can still leave the encrypted grant file. That file is the credential. It is not a copy of steps or workouts. The sign-in return page does not read or log its query string. A platform access log in front of the app can still record that URL.
When a caller asks for steps or exercise sessions, Health sends that requested reading to the caller. The caller is the connected assistant or chat provider. That provider's retention is separate. Deleting data here does not delete a copy the provider already has.
Health sends OAuth and Health API calls to Google to obtain the reading. Because Railway hosts the process, the reading is in memory on that host while the request runs. Health does not send readings to an advertising network. This site loads no third-party scripts or trackers.
Health uses Google user data only to provide the reading the operator's assistant requested. It does not use that data for advertising and it does not sell it. It does not retain a health history. Sending the reading to the assistant that asked is part of answering the request. This is not a claim that the assistant or chat provider retains nothing. This is not a claim that Google has verified Health or waived an assessment.
The operator can delete the encrypted grant. Local deletion removes the file and does not call Google. Remote revocation asks Google to revoke the refresh token and then deletes the local file. If Google rejects that call, Health still deletes the local file. Deleting the grant file and the grant key removes the stored credential from this host. It does not erase readings already sent to the assistant or chat provider, and it does not control retention at Google or Railway. The operator can also remove Health's access in the Google Account.
Health is not a Google product and is not endorsed by Google. This notice does not say the app is verified or exempt from CASA. Health does not offer a health database, public sign-in, heart-rate access, location access, or write access.