Nouring

Local companion for Oura Ring Gen 3 (Horizon)

Your ring’s data,on your phone alone.

Hypnogram

22:5808:02

  • Deep
  • REM
  • Light
  • Awake

No account. No server. No cloud sync. The build published on Google Play does not even hold the permission to reach the internet.

Coming to Google PlayHow it works

Support the project

Nouring is free and stays free: no ads, no subscription, no paid tier. If it earns a place on your phone, you can help keep it maintained.

Donations unlock nothing. Every feature is available to everyone.

What you get

Six readings, each with its own history. Nothing is estimated to fill a gap.

Sleep

The night, stage by stage

The hypnogram, deep, light, REM and awake, plus duration, efficiency and latency. Slept in more than one stretch? Each session stays its own.

Heart rate & HRV

Through the day and through the night

Heart rate across the day, nightly HRV and resting heart rate, with weekly, monthly and yearly trends.

SpO2

Nightly saturation

Blood oxygen through the night, the night’s minimum, and a reference band to read it against.

Temperature

Measured against you

Skin temperature and its deviation from your own baseline, not from a generic average.

Scores

Computed on the phone

Sleep, readiness and energy, derived from your own data by the app itself. No server decides your day.

Ring battery

Always in sight

The ring’s charge level, with an optional ongoing notification so you notice before it runs out.

The screens

Scroll sideways

  • Home: readiness, nightly HRV, resting heart rate and the ring’s charge, one card per reading.

    Home: readiness, nightly HRV, resting heart rate and the ring’s charge, one card per reading.

  • Sleep: the night’s hypnogram, time spent in each stage, efficiency and latency.

    Sleep: the night’s hypnogram, time spent in each stage, efficiency and latency.

  • Heart rate and HRV, by day, week, month and year.

    Heart rate and HRV, by day, week, month and year.

  • Nightly blood oxygen, against its reference band.

    Nightly blood oxygen, against its reference band.

  • Skin temperature and its deviation from your baseline.

    Skin temperature and its deviation from your baseline.

  • Settings: language, theme, sync interval, exports and the ring key backup.

    Settings: language, theme, sync interval, exports and the ring key backup.

  • The privacy policy, reachable from inside the app, as Health Connect requires.

    The privacy policy, reachable from inside the app, as Health Connect requires.

How it works

  1. 01

    Wear the ring

    It records your night on its own, exactly as it always has. Nothing to sign up for, nothing to renew.

  2. 02

    Open the app

    Nouring connects over Bluetooth Low Energy and asks the ring for what it has not read yet.

  3. 03

    Read your data

    Everything lands in a database on the phone. That is the entire journey your data makes.

Nights already downloaded are not fetched again, and days you did not wear the ring stay empty instead of being filled with estimates.

The data has nowhere to go

This is not a promise about our intentions. Android grants network access through a permission, and the released build does not declare it — so at the operating-system level the app cannot open a connection.

Read the privacy policy

Permissions in the released build, after merging the libraries’

  • android.permission.BLUETOOTH_SCAN
  • android.permission.BLUETOOTH_CONNECT
  • android.permission.health.WRITE_SLEEP
  • android.permission.health.WRITE_HEART_RATE
  • android.permission.health.WRITE_HEART_RATE_VARIABILITY
  • android.permission.health.WRITE_RESTING_HEART_RATE
  • android.permission.health.WRITE_BODY_TEMPERATURE
  • android.permission.POST_NOTIFICATIONS
  • android.permission.VIBRATE— from a library
  • android.permission.WAKE_LOCK— from a library
  • android.permission.RECEIVE_BOOT_COMPLETED— from a library
  • android.permission.FOREGROUND_SERVICE— from a library
  • android.permission.ACCESS_NETWORK_STATE— from a library
  • android.permission.INTERNETnot declared

ACCESS_NETWORK_STATE, pulled in by WorkManager, only reads whether a connection exists. Without INTERNET there is no socket to open.

Your data, on your terms

Three ways out, each one started by you and never in the background.

Health Connect
Nouring writes sleep, heart rate, HRV, resting heart rate and temperature, so other apps you trust can read them. Write-only: it never reads anything back.
CSV export
A file handed to the system share sheet, where you pick the destination.
Ring key backup
A JSON file holding your ring’s authentication key, so you never lose access to it. Keep it as you would keep a password.

Requirements

System
Android 13 or later
Connection
Bluetooth Low Energy
Device
Oura Ring Gen 3 (Horizon)
App languages
English, Italian, German, Spanish
Theme
Light and dark
Price
Free, no ads, no subscription