| webgpu | checking… |
| graphics adapter | checking… |
| signature verification | checking… |
| storage available | checking… |
| recommended build | checking… |
| prompts transmitted | none |
| account required | none |
| moderation layer | absent |
| release signature | ed25519 / pinned |
No install, no driver, no Python. The browser is the runtime and your GPU does the work.
A capability probe reads your GPU, memory and browser, then selects a model size that device can actually hold — 4B for desktops, 1.7B for phones. It refuses rather than freeze a machine it cannot run on.
Before a single byte reaches the runtime, your device checks the release signature against a key hardcoded in the page, then every shard against the signed manifest. A modified file stops the load.
The model runs on your GPU through WebGPU. The conversation is written to your browser's local storage and nowhere else. Close the tab and it is still only on your machine.
Cloud AI privacy is a promise that someone can break, revise, or be compelled to break. On-device inference is a property of where the computation happens — there is no copy to subpoena, leak or train on.
| property | hosted chatbots | TruthAi Mini |
|---|---|---|
| Prompts stored on a server | yes | never sent |
| Account / identity required | yes | no |
| Works with the network off | no | after download |
| Answers filtered by a moderation layer | yes | none |
| Source available to read | no | MIT |
| Weights you can verify | n/a | signed + hashed |
| Recurring cost | $20 / mo | $0 |
Open-weight Qwen3, abliterated builds, quantized to 4-bit and compiled for WebGPU. The device probe picks one; you can override it.
The full build. Longest answers, strongest reasoning of the three.
Tested holding a full-length conversation on an iPhone. History is packed by token budget, so a long chat drops old turns instead of failing.
For devices that cannot hold the 1.7B. Honest about its limits — it exists so nobody is shut out.
The release public key is compiled into the page. Wherever the bytes travel from — our origin, a CDN, an IPFS pin, a torrent — the verification happens on your device, against that key, before the runtime sees anything.
$ load release qwen3-1.7B-abl-q4f16_1 pinned key ............ 02c6bedb…77ae (compiled into the page) release key match ..... OK manifest signature .... VALID ed25519, verified against the pin shard sha-256 ......... 168 / 168 OK rollback check ........ OK sequence ≥ last verified runtime ............... loading nothing executed before this line # a tampered mirror fails at line 2 and never loads. that is the whole design. # scope: the signature covers the release bytes — the page itself comes from the origin over TLS.
Free, and MIT-licensed. The models are open-weight and Apache-2.0. No account, no tier, no upsell in the app. It costs us bandwidth once per download; after that your hardware does the work, which is exactly why it can be free.
The models are abliterated open-weight builds — the refusal behaviour trained into the base model has been removed — and no moderation layer sits between you and the output. You get the model's actual answer. It can be wrong, and what you do with a tool running on your own machine is your responsibility.
A browser with WebGPU: Chrome or Edge 113+, Safari 26+, Firefox 141+. Signature verification additionally needs WebCrypto Ed25519 (Chrome/Edge 137+, Safari 17+, Firefox 129+); a browser without it is refused rather than silently trusted. The probe sizes the model to the device and tells you plainly when a machine is too weak.
No. Weights are data — numbers a runtime multiplies — not executable code, and they run inside the browser's GPU sandbox with no filesystem or shell access. On top of that the bytes are signature-verified on your device before loading, so they cannot be swapped for someone else's.
The app sends nothing: no telemetry, no analytics, no chat sync. Fonts and code are served from this site; the conversation never is. Read-aloud is restricted to on-device voices and switches itself off if the system has none, so even that cannot route your text to a remote service.
Yes. The repository ships the deployable site, a minimal static server, and the full release pipeline — quantizer, manifest builder and Ed25519 signer. Pin your own key and the entire trust chain is yours; nothing points back at us.
Nothing to install, nothing to sign up for. The download starts when you press the button, and it is the last thing that touches our servers.