Humming

Humming Keyboard: Privacy Policy

Effective 14 October 2026. Applies to the Humming Keyboard Android app (package com.humming.keyboard) and the Humming desktop app.

The short version

Humming works on your device. By default, what you type, the words it learns, your clipboard and your voice stay on your phone. There is no account, no advertising, no analytics and no tracking. We (the developer) receive none of your data. Three optional features, all off by default, send data to a service you choose: Online voice mode sends your audio to the phone's own speech service (on most phones Google's), also in incognito; AI clean-up sends the dictated text (never audio) to Google Gemini, OpenAI or Groq using your own key; and GIF search sends the words you type in its search box to Openverse. The update check of the APK and desktop versions, on by default, sends no personal data. One more exception: if you have turned on Android's own device backup, Android may copy Humming's settings and personal dictionary to your Google account. Details are under “When the app uses the internet” and “Other apps and Android features” below.

What stays on your device

When the app uses the internet

The app uses the internet only for the things below. A unit test in the project's source code (NetworkAuditTest) scans the app's source for network calls and fails if one appears outside these features; it is a check on the code as written, not a firewall while the app runs. The project's automated builds ran this test on every change to the Android app until 5 October 2026; automated builds have been paused since then, so the test does not run automatically until they resume.

  1. Speech model download. When you choose a voice model, the app downloads it once from GitHub (github.com, the public sherpa-onnx release page). The download sends no personal data. As with any download, GitHub sees your IP address. You can limit this download to Wi-Fi.
  2. GIF search (optional, off by default). If you turn on GIF search in Settings > Stickers & GIFs, the words you type into the sticker search box are sent to Openverse (openverse.org, run by the WordPress Foundation) to find openly licensed GIFs. Openverse sees the search words and your IP address; see openverse.org/privacy. The GIF previews and the GIF you pick are then downloaded from the websites that host them (the image addresses in Openverse's results), so those websites also see your IP address. GIF search never runs in incognito unless you allow it separately. Nothing else you type is sent.
  3. Online voice mode (optional, off by default). If you switch Voice input from Offline to Online, your audio is handed to the phone's own speech service (on most phones Google's), which processes it under its own privacy policy. Humming's own code does not send it anywhere else, but in this mode your voice leaves the phone. Incognito does not change this: in incognito, Online mode still uses the phone's speech service, and Humming only skips its own voice history. Offline stays the default.
  4. AI clean-up with your own key (optional, off by default). If you add your own API key and turn this on, the dictated text (never audio) is sent to the provider you pick (Google Gemini, OpenAI or Groq) to tidy it up, under that provider's terms. It never runs in incognito, the key is stored encrypted on the phone, and any failure keeps the on-device text.
  5. App updates (the APK from GitHub or the Humming download site, and the desktop app). Android APK: at most every 6 hours, when the keyboard opens, the app reads a small file (android.json) from the Humming download site (humming-keyboard.pages.dev, hosted by Cloudflare Pages) to see whether a newer version exists. If there is one, it downloads the new APK through the same site (the file itself is served from GitHub), checks its SHA-256 checksum and signing certificate, and asks Android to install it (Android asks you to confirm). Settings > Updates turns automatic checks and downloads off. The Google Play version does not do this: Play installs its updates. Desktop app: 45 seconds after it starts, every 4 hours after that, and when you press Check for updates, it reads latest.json from the same site; it installs only files signed with Humming's update key. Settings > Updates > Automatically install updates turns automatic installation off, but the check itself still runs. A Linux .deb install only tells you that a new version is out. The update requests send no personal data; Cloudflare and GitHub see your IP address.

Other apps and Android features

Permissions

Children

Humming is a general-purpose keyboard and is not directed at children. It collects no personal data from anyone.

Changes

If this policy changes, the new version will be posted at this address with a new effective date.

Contact