Skip to main content

Privacy

Your conversations stay yours.

CuriousLM runs AI models on your own device. There is no account, no CuriousLM inference server and no hosted conversation storage.

Updated

Information kept on your device

Depending on the features you use, CuriousLM stores locally:

  • conversations, alternate versions of messages, projects, instructions and settings;
  • what you choose to tell CuriousLM about yourself, how CuriousLM should respond, and the short facts you ask CuriousLM to remember;
  • photos you attach and the text extracted from documents you attach;
  • for each reply, the words the model was unsure about and the alternatives the model considered;
  • your journal, and the short weekly notes and letters Mirror writes from your journal and chats;
  • in the Android app, if you turn the assistant on, what the assistant took from your notifications (see below); and
  • the AI models you download, and Pocket Wikipedia if you download it.

In a browser this data lives in the site's private storage for curiouslm.com. In the Android app it lives in the app's private storage. Nothing is copied to a CuriousLM server.

How your data is encrypted

Your chats, messages, attached documents and photos, memories and personal settings are encrypted in the on-device database with XChaCha20-Poly1305. Encryption is on from the first launch and needs no setup. A few structural fields stay readable so the app can sort and link records: record ids, which chat, message or project a record belongs to, creation and update times, the pinned flag, which version of a reply is shown, and a record's status and role. They do not contain what you wrote.

Each install has one random 256-bit key. Where that key is kept decides who can open the app:

  • In a browser, by default, the key is protected by a key the browser keeps and will not export. This protects the stored files if someone copies them off your device. It does not stop anyone who can use your unlocked browser profile from opening CuriousLM.
  • In a browser, with a lock, you can require a passkey (Face ID, Touch ID, Windows Hello or your phone) or a passcode in Settings, Privacy and security. CuriousLM then asks for it each time the app opens, and locks again after 1, 5 (the default) or 15 minutes without use unless you choose never. CuriousLM does not lock while a reply is being written.
  • In the Android app, the key is protected by Android Keystore, in the phone's secure hardware where available. Turn on “Ask for my fingerprint” to require your fingerprint, face or screen lock every time CuriousLM opens.

There is no recovery. CuriousLM never has your key, passkey or passcode. If you forget your passcode, the only way back in is to erase everything on that device and start again. Downloaded model files are public model weights, so they are not encrypted and are kept when you erase.

The Android assistant

The assistant is optional and off until you turn on each source in the app. Before Android asks for a permission, CuriousLM says what that source reads and asks for your yes. Everything the assistant reads is read and understood on your phone by the model you downloaded, and none of it leaves the phone.

  • Your screen. Two optional ways, each off until you turn it on. As your phone's digital assistant, CuriousLM gets the screen you are on from Android when you hold the power button. With screen awareness, which uses Android's accessibility permission (the AccessibilityService API), CuriousLM reads the text shown in the apps you use, so you can ask about what is in front of you. CuriousLM never reads password fields, what you type, password managers or the banking and payment apps CuriousLM recognises, and never taps, types or changes anything in your apps. Only the latest screen is kept, in the app's memory; it is not stored unless you choose to ask about it in a chat. When the app you ask about has little text and your model can see images, a picture of that app goes with your question; it is used once, on the phone, and never stored. Nothing read from your screen leaves your phone.
  • Your notifications. With Android's notification access, CuriousLM reads the notifications you receive, to notice who is waiting on a reply and catch bills, deliveries and appointments. What CuriousLM keeps is encrypted on the phone for at most 14 days. Security codes are never kept. Replies come drafted, and one is sent only when you tap Send.
  • Your calendar. With Android's calendar permission, CuriousLM reads your events for the day ahead and a reminder before each meeting. When you ask CuriousLM to add an event, or tap Add under a letter you shared, that one event is written to your calendar, with Undo. CuriousLM never changes your events, and removes only events CuriousLM added, when you tap Undo.

You can also ask CuriousLM or save a note from Quick Settings or from a quiet card in your notifications. Questions are answered on the phone. A note or a reminder typed there is kept encrypted on the phone until CuriousLM next opens, then moved into your journal or agenda.

Turning a source off stops it and deletes what was kept from it. Settings, Assistant also erases everything the assistant has kept. The assistant never sends, pays or deletes anything for you without your tap.

CuriousLM Keyboard

The Android app includes a keyboard you can choose in Android's keyboard settings. CuriousLM Keyboard works with the model on your phone, from what you type and, where the assistant's sources are on, the message you are answering and the screen you are typing on: your next words, replies and fixes for your mistakes are all worked out on the phone, and none of what you type leaves it. Android shows its usual note that a keyboard can read what you type; CuriousLM Keyboard keeps all of that on your phone.

  • In password fields and apps that handle money, the keyboard is a plain one: no model, no context and nothing learnt. Everywhere else it suggests and fixes as you type, search boxes and a browser's address bar included.
  • What the keyboard learns from you is kept encrypted on the phone: the new words you type and the word you usually type after another; what you write, with what each piece answered, so suggestions sound like you and finish your sentences the way you do; the email and web addresses you type, offered as you start typing one again; and the email, phone number, address and name you type into forms, offered the next time a form asks.
  • Nothing is kept from password fields, fields for codes, PINs and security or verification details, card and account numbers, apps that handle money, or fields that ask not to be learned from, such as incognito tabs, where suggestions still work and nothing you type is kept. Settings, Keyboard turns learning off, and Forget my words erases all of it from the phone.
  • With screen awareness on, the keyboard notices your phone's screenshot preview appear and offers to paste the screenshot into a field that takes pictures. The keyboard never looks through your photos: the offer opens Android's photo picker, and only the picture you pick is copied into the app's cache so the app you are typing in can take it. That copy is replaced by the next picture you pick.
  • Replies drafted when a message arrives are kept only in the app's memory. Voice typing turns speech into text on the phone; the speech model downloads from Hugging Face the first time you tap the microphone, and no sound is recorded or sent.

When information leaves your device

You can check every item below for yourself, without our help: verify CuriousLM's privacy shows how to watch each request and have an AI read the exact code your device runs.

  1. App delivery. Our hosting provider or the app store receives ordinary request metadata when you open the website or install an update. Your prompts and replies are never part of those requests.
  2. Model downloads. When you choose to download a model, a voice or Pocket Wikipedia, the file is fetched from Hugging Face, which receives ordinary request metadata. Nothing you type is sent. Questions answered from Pocket Wikipedia are looked up on your device.
  3. Web search. Only when you turn on Web (Wikipedia in a browser) in the message box, or tap Search the web (Check Wikipedia in a browser) under a reply, a search is made for that message. The message itself, up to 200 characters and without polite openers, is sent as the search. A short follow-up such as “what about his wife?” also carries the words of the search before it. In the Android app the search goes from your phone straight to DuckDuckGo, or to Wikipedia when DuckDuckGo is busy, and the top pages found are opened from your phone to read them, with no cookies sent or kept. In a browser it goes to Wikipedia. Nothing goes through a CuriousLM server, and the rest of the chat is never sent. What a search found is stored with the message, encrypted like the rest of your chats.
  4. Aggregate usage analytics. Google Analytics 4 (GA4) receives coarse app events unless you turn usage analytics off in Settings. See the section below.
  5. Reporting a reply. If a reply is offensive or wrong, you can report it from the flag under it. You choose what goes with the report: the reason, anything you write, and whether to include the reply and your message. It is sent only when you tap Send, to a private Google Form that only CuriousLM's maker reads, and helps make CuriousLM better.
  6. Android beta access. The open beta needs nothing from you but Google Play. If you joined the earlier closed test through the CuriousLM testers group on Google Groups, Google and CuriousLM see the email address of the Google account that joined.

Code that a model writes and you run inside CuriousLM runs in an isolated sandbox on your device. It has no network access and cannot read your chats.

Usage analytics

CuriousLM uses GA4 for aggregate service-improvement statistics. If your device is set to a time zone in the EU or EEA, analytics stays off until you allow it, and CuriousLM asks once. Elsewhere it is on by default. Either way you can turn it off in Settings. While it is on, GA4 can set first-party _ga cookies with a maximum age of 90 days. Advertising storage, advertising user data, Google signals, ad personalisation and enhanced measurement are disabled.

Events are limited to app opens, model downloads started, a model being activated, a message being sent, a reply finishing (as completed, stopped or failed, with broad duration and length bands), a project being created, and a report being sent. GA4 may also receive a page path without chat or project parameters, ordinary browser and device information, a cookie-based Analytics identifier and request metadata. Google says it uses the requester IP address transiently for routing and approximate location, then discards it before logging. Analytics data is retained for up to 14 months. Google's privacy policy applies to its processing.

Analytics events never include prompts, replies, chat titles, file names, file contents, project names, personal instructions or model names. You can object at any time by turning Help improve CuriousLM off in Settings, Privacy and security. That stops future events and removes accessible Analytics cookies.

Android beta access

The Android app is in open beta on Google Play, which asks for no sign-up with CuriousLM. For the earlier closed test, the email address of the Google account that joined the testers group on Google Groups, or that you submitted through the earlier Android beta form, is used only to give you access to CuriousLM's closed Google Play test. It is not combined with your chats or local app data, and it is not sold or used for advertising. You can leave the group at any time, or email curiouslm@ebenezerdon.com from that address to be removed.

Permissions

CuriousLM asks for file access only when you attach a photo or document, and for the microphone only when you use voice input, which is turned into text on your device. The Android app can use your fingerprint, face or screen lock if you turn on the app lock. If you turn the assistant's sources on, the app asks for accessibility access, notification access, calendar access (to read your events and, when you ask, to add one) and permission to post notifications, as described above. Voice typing on CuriousLM Keyboard asks for the microphone the first time you use it. To ring a reminder on time the app can set exact alarms and show the reminder over the lock screen. The app does not request location or contacts access. The Android app uses the internet only to download models, voices and Pocket Wikipedia, to search the web when you ask for a search, to send a report you choose to send and, if enabled, to send usage statistics.

Your controls and data deletion

In Settings you can export everything to a file, import an export, delete individual chats or everything, remove downloaded models and turn usage analytics off. An encrypted export is a .curiouslm file sealed with a password you choose; without that password nobody, including CuriousLM, can open it. A plain JSON export is not encrypted and anyone with the file can read it, so keep it somewhere safe.

Because your data exists only on your device and only your device holds its key, CuriousLM cannot see it, recover it or delete it remotely. Clearing the site's data in your browser or uninstalling the app removes it permanently. Browsers can also clear site storage under storage pressure, so export anything you want to keep.

Age, international use, and contact

CuriousLM is intended for adults aged 18 and over. For privacy or support questions, email curiouslm@ebenezerdon.com.