Privacy Policy
Hugo
Effective July 24, 2026
The Short Version
Hugo runs the AI model on your phone. Your tasks, chats, notes, and documents are stored on your phone. Static Hum Studio never receives any of that content, because there is no Hugo server to receive it.
The one time Hugo talks to us at all is downloading the AI model during setup, and even that is optional ... you can supply your own model file instead and Hugo will never contact us. If you do let it download, that is a file download, logged the way any web server logs a request: your IP address, the time, and which file, by us and by Cloudflare, who serve the site. No account and nothing from inside the app, though a download log does record that someone at your address set Hugo up.
We do not collect analytics. We do not run crash reporting. There are no ads and no tracking libraries we added. One exception we did not choose and cannot switch off: the text-recognition component Hugo uses to read documents reports diagnostics to Google. It sends nothing of what it read. There is a section on it below.
Hugo can reach the internet, but the skills that do are switches you turn on yourself, and those ship off. The exceptions are the voice and setup paths, and each heading below says exactly when its path applies.
What Hugo Stores on Your Device
In a private database only Hugo can read:
- Tasks, due dates, reminders, and completion history
- Chat sessions and every message in them, including images you attached
- Documents you imported, the text extracted from them, and the search index built over that text
- Research runs and their results
As plain markdown files in Hugo’s own folder on your device’s storage:
- Notes and markdown documents you or Hugo wrote
- Links you shared into Hugo, and whatever text was read for them
These are deliberately plain files, so your notes are yours to copy off the phone. Other apps cannot read them without your say-so, but you will see them if you browse your phone’s files over USB. They are removed when you clear Hugo’s data or uninstall it.
In Hugo’s private file storage, which no other app can read:
- The AI model files you downloaded, and the speech models if you set up on-device speech
- A copy of every image you attached to a chat, kept as long as the message is
In temporary storage your phone can clear on its own:
- Photos taken with the in-app camera, until you attach one
- Staging files while a document is being imported, or while an image is on its way out to another app
In app preferences:
- Your display name, theme, and which model you are using
- Model tuning settings, speech backends, and which skills you turned on
Encrypted with AES-256, in Android’s hardware-backed keystore:
- The API key you entered for image generation
All of this stays on the device. None of it is transmitted to Static Hum Studio.
Android’s automatic cloud backup is turned off for Hugo, deliberately. Your conversations and tasks are not copied to Google Drive. The trade-off is real and worth stating: if you factory-reset your phone, that data does not come with you.
Android’s phone-to-phone transfer, the one that runs when you set up a new device from your old one, is a separate mechanism, and turning off cloud backup does not turn it off. Hugo opts every one of its storage areas out of it explicitly. Nothing rides across. That is the same trade as above, doubled down: a new phone starts empty, and the way to carry your work over is to export it yourself.
Where Data Can Leave Your Phone
This is the whole list. Rather than summarise which of these are off by default, which has been wrong here more than once, every heading below states its own condition: off until you turn it on, on by default, or no switch at all.
Your Chats (never)
Chatting with Hugo is not on this list, because it is not a network path. The model runs on your phone. Your messages, Hugo’s instructions, your task list, and anything a tool looked up stay on the device for the whole turn.
There is no setting that changes this. Hugo cannot be pointed at an AI service instead, ours or anyone else’s, because there is no such option to turn on.
Web Search (off by default)
When web access is on, search terms go to DuckDuckGo. Wikipedia lookups send the search term or article title to Wikipedia.
Reading a Link (no switch, it follows your lead)
If you hand Hugo a URL to import, or share a link into it, Hugo fetches that page directly from that site. The site sees the request the same way your browser would. There is no toggle on this one, because you asked for it by handing over the link. Research runs follow links the same way, and those are behind the web access switch.
Image Generation (off by default)
Image generation is not local. Turning the switch on sends your Wavespeed API key to Wavespeed straight away, to load the list of available models ... before you have asked for any image. After that, each image sends your prompt as well. The finished image is then downloaded from whatever host Wavespeed hands back, which is usually a content network rather than Wavespeed itself. That download happens once to show it to you and again to save it, and again each time you tap Save or Share ... those two re-fetch rather than reusing the copy already on your phone.
Generated images are kept inside Hugo by default, not in your gallery, so clearing Hugo’s data removes them along with everything else. You can choose to send them to your gallery instead, and Settings says plainly what that means before you pick it: files there are yours, they outlive the app, and clearing Hugo will not touch them. Tapping Save on an image also puts a copy in your gallery, because that is what saving a picture means.
Images in a Reply (no switch)
When a reply contains a web address that looks like a picture, the chat screen loads it so you can see it. That is how a generated image appears in the conversation, but the same thing happens to any such address, whichever model produced it ... including the on-device one, and including a link Hugo got wrong.
The request is a plain fetch, the way a browser loads an image on a page. None of your content goes with it ... no chat, no tasks, no notes. What the site does get is what any site gets when your phone asks it for something: your IP address, and the fact that a request was made. That site is not necessarily one you picked, and this happens with image generation and web access both switched off.
Speech to Text (on by default, if you use voice)
Hugo has two speech backends. The default is your phone’s own recogniser ... whichever one it has selected, which is Google’s on most phones and the manufacturer’s on some. Hugo does not choose it and cannot see inside it. Most send your recorded audio to their maker’s servers. We are not going to tell you that installing an offline speech pack fixes that ... Hugo does not ask the recogniser to stay offline, so it remains free to use the network whatever you have installed. The alternative that does work is whisper.cpp, which runs entirely on your phone and sends nothing anywhere. You can switch in Settings. If you never use voice, neither one runs.
Text to Speech (on during calls, switchable)
When Hugo speaks during a call, he hands the reply text to whichever text-to-speech engine you have installed on your phone. Some engines synthesise in the cloud, which means that text leaves the device. That engine’s own privacy terms apply to what it is given.
The control for it is Settings, “hugo speaks during calls”. Turn it off and Hugo listens without speaking ... the reply still appears in the chat, it just is not read aloud, and no text goes to a speech engine. Worth saying that we found this switch wired to nothing while writing this policy, and fixed it before publishing rather than describing a control that did not work.
Downloading the Model (once, during setup, and optional)
Hugo needs an AI model file to work, and at several gigabytes it is far too large to ship inside the app. The easy way to get one is to let Hugo download it from statichum.studio/apps/hugo/models over HTTPS during setup.
You do not have to. The model is a standard file, not something of ours, and Settings will take one you already have ... downloaded from anywhere, copied over USB, sitting in your Drive. Point Hugo at it and it is used exactly the same way. Do that and Hugo never contacts us at all, which is worth knowing if you would rather we never saw a request from you.
That request is recorded the way any web server records any request: an IP address, a timestamp, and a user agent. Being precise about what that does tell us, since it is not nothing ... it says that someone at your IP set up Hugo at that time. It does not carry your name, an account, a device identifier, or anything from inside the app, and nothing is sent back afterwards. But a download log is a record that you installed this app, and we would rather say that than claim it reveals nothing at all.
Worth naming who else sees it: statichum.studio sits behind Cloudflare, so the request reaches Cloudflare and is logged there under their terms as well as ours. That is true of every page on this site, including the one you are reading, but it is worth saying where an actual file transfer is involved.
Text Recognition (off until you turn it on)
Some PDFs are pictures of pages rather than text ... a scan. To read one, Hugo uses Google’s ML Kit. The recognition itself is genuinely on your phone: the models ship inside the app, and your pages and the text found in them are never uploaded.
What we did not choose: as that component starts up, it reports diagnostics to Google. Your device make, model and Android version, Hugo’s package name and version, an identifier tied to this installation, timings, and error codes. Not your images. Not the text it read. Google publishes the full list, and there is no setting of theirs that turns it off.
So we did the only thing left to us: we made sure it never starts. Reading scanned PDFs is a setting, it ships off, and while it is off the component is never created ... which is the moment the reporting would happen. Nothing is sent, because nothing is running. Turn it on and you get scanned pages read, and Google gets the list above. The setting says so on the screen, whether it is on or off, so you can read the trade before you make it rather than after.
Left off, a scanned page is simply skipped, and Hugo tells you which pages he could not read rather than quietly indexing half a document.
We are telling you at this length because an app that claims to tell you where your data goes does not get to leave out the part that surprised us. This was the one path that reported on Hugo himself rather than carrying something you asked him to carry, and it is now the one path we closed by default instead of only disclosing.
Unencrypted Connections
Hugo permits plain http connections. This is a deliberate choice, and it applies to one thing: reading a link you hand it. There are two ways to do that and they behave differently, so both are worth stating.
Ask Hugo to read a link, or share one into it, and Hugo tries https first, falling back to plain http only when the secure version is genuinely unreachable. Most http links end up encrypted that way. Add a URL through Sources with an explicit http:// address, though, and Hugo fetches exactly that ... no upgrade attempt, so it is unencrypted.
What this means for you: an unencrypted fetch crosses the internet in the open, and anyone in between can see which page was requested. It is the same exposure your browser has visiting the same link. Nothing of yours is sent along with the request.
What Hugo Does Not Do
- No analytics or usage tracking that we added, and none we receive. See Text Recognition below for the one component that reports to Google
- No crash reporting
- No advertising frameworks or third-party tracking SDKs
- No location data, no contacts, no advertising identifier
- No account. Hugo has no sign-up, no login, and no profile
- No data sent to Static Hum Studio. There is no Hugo server to send it to
- No training. Nothing you say to Hugo is used to train any model by us
Document text recognition and the AI model both run on your phone. Neither one needs a network connection.
Permissions Hugo Asks For
- Notifications — to show reminders. Without it, reminders fire silently and you will miss them
- Alarms and reminders — so a reminder set for 3:00 arrives at 3:00 rather than whenever the system feels like it
- Microphone — only while you are talking to Hugo
- Camera — only when you take a photo to show him
- Start on boot — to re-register your reminders after a restart, so they survive one
- Internet — for the paths listed above, and nothing else
Your Control
- The skills that reach the network are switches in Settings or Skills, and they ship off. Turning one off stops that path immediately. The voice and setup paths differ, and each heading above says how
- Delete any task, chat, note, or imported document from inside the app
- Remove an API key at any time in Settings
- Switch speech recognition to whisper.cpp to keep your voice on the phone
- Clear the app’s data or uninstall it to remove everything Hugo owns. See below for the one exception
Deleting Your Data
Clearing Hugo’s app data or uninstalling it removes your tasks, chats, notes, imported documents, downloaded models, settings, and saved keys. There is no Hugo account and no Hugo server, so none of that content exists anywhere for us to delete.
One thing we do hold, and we are not going to pretend otherwise: the web-server log line from your model download, with an IP address and a timestamp. It is the same record this site keeps for any request, it is not tied to a name or an account, and it is held by us and by Cloudflare under their terms. If you want it removed, email us and we will do what the logs allow.
That is not the same as saying nothing exists anywhere. Anything you sent to someone else is theirs now, and clearing Hugo cannot reach it: the model download left our host a log line with your IP and the time, Wavespeed has any image prompts you sent it, the search and lookup sites have those queries, and your phone’s speech engines have whatever audio or reply text passed through them. Each of those is governed by that party’s own policy and their own deletion process, not ours. We would rather point you at them than imply a wipe you cannot actually perform.
The exception is images you asked us to put in your gallery ... by choosing the gallery as the save location, or by tapping Save on one. Your gallery is not Hugo’s to erase, so those survive clearing app data and they survive uninstalling. Delete them the way you delete any other photo, from your Photos or Files app.
Left on the default, this does not come up: generated images stay inside Hugo and go when Hugo goes.
Children’s Privacy
Hugo is not directed at children under the age of 13, and we do not knowingly collect personal information from children under 13.
To be exact rather than reassuring: we run no account system and receive no app content from anyone, of any age. The one thing we do receive is the web-server log line from a model download, which holds an IP address and a timestamp and nothing that identifies who was at the keyboard. If you believe a child under 13 has provided personal information through the app, contact us at [email protected] and we will take steps to remove it.
Third Parties
Each one’s own privacy policy governs what it does with what it receives. Some are reached only when you turn a feature on; others apply by default or have no switch at all. Each entry below says which it is, so you do not have to hold a list in your head. Sites you hand Hugo a link to, and hosts an image in a reply points at, are not on this list at all ... those are whatever address was involved, and both are covered above.
DuckDuckGo, Wikipedia (only with web access on)
Search and lookup destinations. They receive search terms, not your chats.
Wavespeed (only with image generation on)
Image generation. Receives your prompt and your key.
Your phone’s speech recogniser (used by default)
Google’s on most phones, the manufacturer’s on some. Receives recorded audio while you are dictating. You do not enable this one ... it is the default backend, so it applies the first time you use voice unless you have switched to whisper.cpp.
Your phone’s text-to-speech engine (used by default during calls)
Whichever one is installed. Receives the text Hugo speaks during a call. Some synthesise in the cloud. Switchable two ways: turn off “hugo speaks during calls”, or pick kokoro, which speaks on the phone.
Cloudflare (only if you let Hugo download the model)
Serves statichum.studio, including the model download. Receives and logs the request: IP address, time, and what was fetched. Avoidable by supplying your own model file ... see Downloading the Model.
Google (text recognition, off until you turn it on)
Receives diagnostics if you switch on reading scanned PDFs and then import one. Leave that setting alone and Google receives nothing, because the component that reports in is never started. See Text Recognition below for exactly what it sends.
Contact
Changes to This Policy
If this policy is updated, the revised version will be posted here with a new effective date. That is the only place it will be announced.