Skip to main content

Your words stay on your device.
Verify that yourself.

No server. Nothing hidden. Everything CuriousLM runs is already on your device, so you can every request as it happens.

Free tools, a few minutes each, and none of our help.

A chat on the phone: My wifi password is zebra-7741. How do I share it with a guest safely? The reply, written on the phone, suggests a password manager, a guest network or a hotspot app.

A few minutes each

Three checks, none of them ours.

  1. Watch every request

    Open the network view your browser already has, or a free monitor on Android. Turn off usage statistics and chat: nothing appears.

    How to watch
  2. Have an AI read the code

    One command downloads the exact code your device runs and writes a review pack for the AI you trust.

    Get the verifier
  3. Match the fingerprint

    Your device works out its own fingerprint. If it matches the public one, you run the code you checked.

    See the fingerprint

Check one

Watch every request.

Tell CuriousLM your wifi password, then look at the network. The password goes nowhere, because nothing does: every reply is written on your device.

Android's own count, while a reply was written

0 bytessent by CuriousLM
0 bytesreceived
Measured on a test phone on 12 October 2026, with usage statistics off. Run the same check on yours.
In your browser
Turn off usage statistics in Settings, then open the developer tools (F12), choose Network and chat. The list shows only CuriousLM's own files from curiouslm.com, until you download a model or search the web.
On Android
Turn off usage statistics in Settings, then install PCAPdroid from Google Play, choose CuriousLM and press Start. Chats, voice and the journal open no connections.
A word only you know
Use a made-up word like zebra-7741 in a chat, then search the log for it. The word appears only in a web search you asked for.

Check two

Have an AI read the code.

CuriousLM has no server, so the code on your device is the whole product. One command downloads it, checks every file and writes a review pack for the AI you trust.

A real run, 12 October 2026
curl -O https://curiouslm.com/verify/curiouslm-verify.mjs
node curiouslm-verify.mjs

Build        a7ebe01e5543
Fingerprint  762e efd1 61ad df3f
Record       all 353 files match
Review pack  AI-REVIEW.md, 150 network-capable calls
Ask your AI
The prompt
AI-REVIEW.md is a review pack for CuriousLM, an AI assistant that runs on my device, and the files folder holds every file of the build it describes. Follow the instructions at the top of the pack, check its claims against the code itself, and tell me plainly whether anything I write, say or keep in the app could leave my device in a way the pack does not describe. Quote the code for anything you find.
The Android app
Copy the app from your phone and add --apk base.apk. The pack then shows where the app loads its interface from, and every native class that can reach the network.
The verifier
One file, no dependencies, for Node.js 18 or newer. Read it first, or ask your AI to.

Check three

Match the fingerprint.

Every build has one public fingerprint, a single hash over every file. Settings, About works out yours from the files on your device, so you know the code you checked is the code you run.

Published today

Reading the record

Fetching the public record for this build.

This browser

Open CuriousLM in this browser once, and this page can fingerprint the copy saved here.

Open CuriousLM

Every connection

Where CuriousLM connects, and why.

Your browser refuses anything not on this list, and in the Android app a web search also opens the result pages it finds. There is no CuriousLM server on it, because there isn't one.

curiouslm.com
AlwaysThe app's own files, and a check for a new version. Nothing you write.
huggingface.co
When you downloadThe model, voice or Pocket Wikipedia you chose, checked against its published checksum.
DuckDuckGo or Wikipedia
When you search the webThe words of your message, up to 200 characters, straight from your device. Up to two result pages are then read without them.
docs.google.com
When you send a reportYour reason, your note, the model's name, whether you were in the app or a browser, and the reply and your message, if you leave them included.
Google Analytics
Until you turn it offWhich features were used, in rough bands. Never what you write.

Questions

Asked by careful people.

Why isn't CuriousLM open source?

Because you don't need a repository to see the code. Most apps keep their real work on a server you can never see. CuriousLM has no server: every line that runs on your phone or in your browser is downloaded to it, in the exact form you run, and an AI can read it for you. A repository would show how the code was written; these checks show what you actually run. One person makes CuriousLM, so there are no outside contributions, but ideas are always welcome at curiouslm@ebenezerdon.com.

Is there a CuriousLM server that sees my chats?

No. CuriousLM has no backend server: curiouslm.com is a set of files your device downloads, with no account, no database and nothing to send a chat to. Your chats are written and kept on your device, encrypted.

Can an update quietly change what the app does?

Every update is a new build with a new public fingerprint. Settings, About shows which build your device runs and whether it matches the record, and running the verifier again reviews the new code.

Do I have to trust the verifier?

No. It is one file with no dependencies, so you can read it before you run it, or ask your AI to. It only reads from curiouslm.com, and every hash it prints can be checked with sha256sum.

Now tell CuriousLM what you'd tell no one else.