Your audio stays on your device.
nomus filters sound on your computer or phone, and can clean your microphone for calls. There is no nomus server, no analytics and no account. The only request any nomus app makes is the desktop apps' update check, described below, and you can turn it off.
Last updated 16 October 2026.
In short
Audio is processed in memory and played straight back. Nothing is recorded, saved or uploaded, on any platform.
Your microphone is processed on your device and never recorded or sent anywhere. When you turn on the microphone cleaner (beta), the sound goes from your microphone through nomus and straight to the call app. nomus keeps no copy and has no server to send one to.
No analytics, no account, no cookies, no ads. nomus does not count you, the sites you visit or what you play.
The Chrome extension makes no network requests, and neither does the Android app while it filters.The macOS and Linux apps make one: the update check.
The Chrome extension
It hears only the tab you choose, only while you filter it, or, if you turn on Clean my mic, your microphone on the call sites you allowed. Chrome asks it to capture a tab's audio when you press the shortcut or click Filter this tab. It stops when you stop.
The engine cannot reach the network. It is WebAssembly with no imports, so it has no way to touch the network or your files.
The browser blocks it from connecting anywhere. Its manifest sets
connect-src 'self', which lets it load only its own packaged files.It stores a few settings on your computer in Chrome's extension storage: the mode, the strength, and how many times you have filtered, so it can ask once for a store review. Nothing is sent.
The macOS and Linux apps
They filter what your computer plays, on your computer. On macOS, the system asks you once to allow system audio recording; nomus uses it only to filter and play the sound back. On Linux, apps play into a nomus output device on your machine.
They check for updates when they start. Once per launch, the app asks agrohi.com for one small file,
/nomus/releases/<system>/<processor>/latest.json, for exampledarwin/aarch64for macOS on Apple silicon. That address is the only thing the request says about your computer. It carries no identifier, no cookie, no audio and no usage data. Your app version is not sent either: the app compares versions itself. Like any web request, it shows your IP address to the host, Cloudflare.Updates download only when you press Install and restart. The download's file name says which version you are moving to. The app installs it only if its signature matches the key built into the app.
From version 0.11.0, installers and updates download from dl.agrohi.com. The files grew too large for the site's own file host, so they are stored on Cloudflare R2 under dl.agrohi.com: the same operator (Agrohi), the same domain and the same provider (Cloudflare) as this site. Nothing else changes. The update check still asks agrohi.com, the download carries no identifier, cookie or usage data, and the app still installs an update only if its signature matches.
You can turn update checks off in the app, under About, Check for updates. Then the app makes no network requests at all, and you update by downloading a new version from the download page.
Your microphone (beta)
It is processed in memory and passed on. The macOS and Linux apps read your microphone, clean it, and offer the result as a second microphone called nomus Microphone. No audio is written to disk and no audio is sent over the network. The only request those apps make is still the update check above.
macOS asks you once. The first time you turn the microphone cleaner on, macOS asks to allow nomus to use the microphone. nomus uses it only to clean it. You can take that back in System Settings, Privacy & Security, Microphone. The nomus Microphone driver needs your administrator password once to install; it carries no audio of its own and makes no network requests. If you turn on the experimental switch that makes nomus Microphone your default input, nomus keeps a tiny file on your Mac while it manages the default: nomus's process id and the id of your previous input device, so the input can be put back even if nomus quits unexpectedly. It holds no audio, stays on your Mac only, and is deleted as soon as nomus stops managing your input.
In Chrome it is off until you turn it on. Ticking Clean my mic makes Chrome ask for access to meet.google.com, Zoom web client pages and discord.com. Unticking it removes that access. On those sites the extension cleans the microphone inside the page's own audio, then hands it back to the page. The engine still cannot reach the network, and the extension's
connect-src 'self'is unchanged.It never listens to other people. It processes your microphone, not the audio you receive from the call.
"Hear yourself" is a choice. On a Mac it plays your cleaned voice into headphones only, never speakers, and it is off each time the app starts.
High quality, the default since 0.11.2, changes nothing about privacy. In the macOS and Linux apps, Microphone, Quality, High quality runs DeepFilterNet3, an open-source noise suppressor. Its model file ships inside the app and runs on your computer like the Standard model. It makes no network request; the app stores only which Quality you chose and whether you have seen the "now the default" note.
The Android app
It never sends audio or anything else off your phone. It asks Android for network access only for its one-time setup, because Android requires that permission even to talk to the phone itself. The setup connects to the phone's own debugging service (on this phone, through Wi-Fi) and to nothing else, and deletes its pairing key when it is done.
It captures the audio other apps play only while you filter. Android asks for your consent when you start, and shows a notification while nomus runs. Apps that block capture are left alone.
The optional one-time setup (setup guide) lets nomus read which audio sessions are playing, so it can mute the originals. It reads the list of playing audio sessions, not their content, and the list stays on the phone.
This website
The nomus pages at agrohi.com/nomus/ set no cookies and run no analytics. They load no fonts or scripts from other companies. The demo runs the same engine in the page. Files you open on it are played from your own computer and never uploaded. The site's security policy (connect-src limited to agrohi.com/nomus/) stops these pages from sending anything anywhere else.
The rest of agrohi.com uses Google Analytics. Cloudflare, which serves the whole domain, adds Google's tag to every page, these included. On the nomus pages the security policy blocks it, so it does not run (your browser's console shows it being refused). If you have visited other agrohi.com pages, your browser may send their analytics cookies along with requests to these pages. nomus does not set, read or keep them.
The site and the downloads are hosted on Cloudflare, which sees ordinary request details like your IP address to deliver them, as any web host does. From version 0.11.0 the app installers and update files are served from dl.agrohi.com (Cloudflare R2 storage, same operator and domain); the pages, checksums and update manifests stay at agrohi.com/nomus/. nomus does not collect, read or keep those logs.
Check it yourself
- Open a video in Chrome and start filtering it with nomus.
- Open
chrome://extensions, find nomus, and click the offscreen.html link next to Inspect views. That opens DevTools for the part of the extension that handles the audio. - Pick the Network tab. While the tab plays, the list stays empty.
The extension's code is public: read it on GitHub. It is the same set of files the Chrome Web Store installs. For the desktop apps, a network monitor such as Little Snitch or ss -tp on Linux shows the single update request at launch, or none when checks are off.
Licences
© 2026 Agrohi. The Chrome extension's code is MIT licensed and public at github.com/by-sabbir/nomus-extension. The engine and the macOS, Linux and Android apps are proprietary. Both sets of model weights, the music filter and the microphone cleaner, are licensed CC BY-NC-SA 4.0, because their training data includes GTSinger. The music filter was trained on LibriSpeech, MUSDB18, GTSinger, instrumental tracks from the Free Music Archive, Medley-solos-DB, URMP and GuitarSet. The microphone cleaner also learned from VCTK, DEMAND, MUSAN, Freesound clips in FSD50K (CC0 or CC BY 3.0), OpenSLR 28 room impulse responses and SynthSOD. The macOS microphone driver is built on libASPL (MIT). The High quality microphone mode (macOS and Linux apps from 0.11.0; the default since 0.11.2) uses DeepFilterNet3 by Hendrik Schröter et al. (MIT or Apache 2.0), unchanged, run withtract (MIT or Apache 2.0). Its authors trained it on public speech-enhancement corpora (the DNS Challenge data, whose noise set includes clips derived from AudioSet and Freesound); nomus does not retrain it, and that audio is not in nomus's own training data. The full credits, with every clip that asks for attribution, ship with each app in CREDITS.txt.
Changes
If this ever changes, this page will change first, with a new date at the top.