Open source · Android and iOS Latest v1.10.0

Private AI, on your phone.

Autobot runs chat, agents, image generation and voice on your device — on the NPU, GPU and CPU. It works offline by default, redacts before any cloud call, and gives every answer a privacy receipt.

Android 14+ · arm64 iOS 18+ Offline by default 78.4 MB APK
Figure 1 Local
No egress v1.10.0
On-device inference FIGURE 1
Release
1.10.0
Engine
Llama.cpp
Devices
Android / iOS
Network
Offline
Latest release
v1.10.0
License
Apache-2.0
Platforms
Android 14+ · iOS 18+
Default network
Offline
Telemetry
None
01 The system

Built to run
without a network.

Autobot is one app with two native skins and one Kotlin Multiplatform core. The engines are shared C, the privacy rules are shared code, and the design tokens are the same file on both platforms. A behaviour fix lands everywhere at once.
A

The metal does the work

Each engine runs in its own process, so a native crash or an out-of-memory kill ends that engine — not the app. The engines never touch the network. On Android the build picks the best ARM feature level at runtime, from ARMv8.0 to ARMv9.2 with i8mm and SVE2.

B

Privacy is not a setting

The kill switch, the audit log, the redaction rules and the network modes are shared code, not platform promises. A cloud request passes redaction first, and its receipt counts what was hidden. The default is no request at all.

C

Two apps, one behaviour

Android and iOS ship the same version and build. The agent runtime, provider wire formats, model catalog, download state machine and .autobot export format are shared. The export file opens on the other platform.

Platforms
02Android · iOS
Ways to run
04Image · Chat · Agent · Code
Telemetry
00No SDKs · no identifiers
Shared core
01Kotlin Multiplatform
02 Capabilities

Four modes.
One runtime.

Everything below runs without a network. Cloud providers are optional, and every one of them goes through the same policy, redaction and receipt.
TXT2IMG · IMG2IMG · INPAINT 01

Image

SD 1.5, SDXL, Z-Image and FLUX.2 klein on the phone. LoRA stacks, inpainting, a mask editor, seeds and batches. Core ML on the Neural Engine when you are on iOS.

MCP · CASCADE · RECEIPTS 02

Chat

Local models with streaming, reasoning, tool calls, MCP servers and an optional phone-first cascade. A receipt on every answer, not a promise in a policy.

TOOLS · APPROVALS · RECIPES 03

Agent

A real agent runtime: read, write, edit, glob, grep, web fetch, subagents and skills. Approvals fail closed. Recipes run scheduled agents on the phone.

WORKSPACE · DIFFS · UNDO 04

Code

Sessions in a private workspace where the model never sees a real path. Tool calls arrive as cards; check the diff, allow it, and keep working.

03 On the metal

Native engines,
no cloud in the loop.

llama.cpp, stable-diffusion.cpp and whisper.cpp are built from pinned sources. On Android the image path can also use the Hexagon NPU through QNN or the Adreno GPU through MNN; on iOS, Core ML uses the Neural Engine.
A 4B model is useful on a phone.
Status, honestly: the Snapdragon accelerator paths are built for the 8 Elite Gen 5 (Hexagon V81, Adreno 840) and have not yet been run on one. Models → Compute → report is the diagnostics that will confirm them.
EngineWhat runsAccelerator
Language llama.cpp in its own process, with the best ARM variant of the build picked at runtime. CPU · Adreno GPU · Hexagon NPU
Images stable-diffusion.cpp on Android, Core ML on iOS. Any downloaded checkpoint and LoRA. GPU · NPU · Neural Engine
Voice whisper.cpp streaming dictation and spoken answers with barge-in. Audio never leaves the phone. CPU · Metal
Fallback The OS model stands in when a downloaded model is missing, too big, or fails to load — and the chat says so. Gemini Nano · opt-in flavor

Models · Qwen3.5 0.8B–4B · Gemma 4 E2B · Phi-4 mini · Llama 3.2 3B · Qwen2.5 Coder · SD 1.5 · SDXL Turbo · FLUX.2 klein 4B. Fit checked against RAM, storage and CPU features.

04 Privacy, itemised

Privacy you
can inspect.

These are the guarantees the code makes, not a policy page. The rules live in shared modules and are tested on both platforms.
01

Offline by default

The global network mode starts at Offline. A kill switch rejects every request before DNS or a socket exists. Loopback models such as Ollama can still be reached — or switched off too.

02

Visible egress

The Privacy Center keeps a live, in-memory audit of every request attempt: time, method, host, path, sizes and whether it was blocked. Headers, query strings and bodies are never recorded.

03

Redacted before cloud

Names, emails, phone numbers, addresses, cards, IBANs and account numbers become placeholders before a provider sees them. The answer gets the real values back on the phone. Each chat can switch it off.

04

Encrypted at rest

Conversations live in Room over SQLCipher. A random 256-bit database key is wrapped by an AES-256-GCM keystore key, StrongBox when the phone has it. API keys are treated the same way.

05

Panic wipe

Type WIPE to destroy keystore keys, wrapped keys, databases, settings, secrets and caches. The process is killed. A duress PIN and wipe-after-failed-unlocks are there for worse days.

06

No telemetry

No Play Services, Firebase, analytics or crash reporting. No device identifiers. The User-Agent is the constant “Autobot”. Backups and device transfer are disabled.

Privacy receipt#4F2A
RouteThis phone
ModelQwen3.5 4B
NetworkOffline
Egress0 bytes
Redacted3 items
StoredSQLCipher
ExampleVerified on device

A chat is not a black box with a lock icon on it. The receipt tells you where the answer ran, what was hidden before it left, and how many bytes crossed the wire. If the answer came from a paired node, its signed receipt is merged in too.

05 The node

When the phone
is not enough.

Invincible is the middle tier: a desktop, GPU box or VPS that serves stronger open models and runs agents without a battery. Pair it once; the phone keeps its rules.
Tier 01 This phone NPU · GPU · offline
Tier 02 My node Invincible · always on
Tier 04 Cloud Only when rules allow
install the autobot agent + invincible gateway
$ curl -fsSL https://invincible.sh/install.sh | sh # macOS arm64 · Linux x64 / arm64 · no root → signed release · pinned key · model sized to this machine
Same agent as the phoneAlways onApprovals on the phone

One endpoint.
Your hardware.

Pairing is a QR code and a Noise handshake. No account, no relay, no API key. The node appears in Autobot as My node, with its live model list and signed receipts.

  • Chats and agents on the node — the same approval cards, the same session log, on a machine with a real GPU.
  • Recipes without the 8-minute limit — hand a scheduled task to the node; results come back as chats with the node’s receipts.
  • Phone → node → cloud — “never” now means “never beyond hardware I own”. The node counts as owned.
  • The node is early build — core paths work end to end; the independent security review is still ahead. We say so on its site, too.
06 Install

Get it running.

The app is a signed APK and a TestFlight build. The agent is one script that also installs the node. Both are verifiable; neither needs an account.
No account. No email, no OAuth, no tenant. Download, sideload, and the app starts in Offline mode with no model installed.

What you need

Android14+ · arm64
iOS18+ · TestFlight
AgentmacOS arm64 · Linux x64/arm64
LicenseApache-2.0
Primary artifact

autobot-1.10.0-release.apk

Download APK
verify the download
$ shasum -a 256 autobot-1.10.0-release.apk # a5446a867ab1ddedc074b424fb237e621ac87671004a07b398924c9811e04766 apksigner verify --print-certs <apk> # SHA-256 9a1378acf9587885e7920355…
Android 14+, arm64Signed with autobot-release-2026Cert fingerprint on GitHub

SHA256SUMS.txt ↗ · Release notes ↗ · Debug build

07 Releases

Release history.

Pulled from GitHub at build time. Every release carries its notes, its files and — for the Android APK — a published SHA-256. Versions move together on both platforms.
1.10.0 My node on iPhone too, what your machine did at a glance, recipes that run on your node, and… Autobot 1.10.0 · 4 files 19 OCT 2026

My node on iPhone too, what your machine did at a glance, recipes that run on your node, and the team of agents your machine can now run.

My node on iOS

  • Pair your computer in Settings › Providers › + › My node (Invincible). Paste the code, or open the invincible://pair link from the camera.
  • Chats, signed receipts and "phone first, then my node" all work as on Android.
  • The agent screen. Remote › Agents · my node: tasks on that machine, approval cards, and scheduled tasks.

What your machine did (Android and iOS)

The list button on the agent screen opens the node's Activity, read from its own logs:

  • Requests: every request the node answered: who asked, which model, tokens, and whether anything left. Each receipt is checked against the key pinned at pairing.
  • Actions: what the agent ran, and who allowed it.
  • Memory and skills: what the agent remembered (you can make it forget), and your skills.

Recipes on your node

  • Runs on in the recipe editor: this phone, or your node.
  • On the node, a recipe runs on its schedule, always on and with no 8-minute limit, on the node's models, with only the recipe's tool groups (web included).
  • Your time, wherever the node is. "07:00" means 07:00 where the phone is.
  • Results come back as chats in the Recipes folder, with the node's signed receipts and a notification.

A team on your machine

  • Team members. When the node's agent has a team, each member's answer shows under its name.
  • You know who's asking. An approval says which member wants it ("coder: Run a command?").
  • New approval cards for web fetches and MCP tools.

Fixes

  • Several CI tests that depended on timing are steadier.
SHA-256 published 4 files Public release
1.9.0 Your own computer as Autobot's next tier: pair a machine running Invincible, chat with its… Autobot 1.9.0 · 4 files 18 OCT 2026

Your own computer as Autobot's next tier: pair a machine running Invincible, chat with its models, hand its agent tasks you approve from the phone, and check what it signed.

My node (Android)

  • Pair a computer. Install Invincible on a desktop or VPS (curl -fsSL https://raw.githubusercontent.com/wckdboy/invincible/main/install.sh | sh), run invincible pair, and scan the code with the camera app (or paste it). Settings › Providers › My node (Invincible). No account, no relay: the phone and the node pin each other's keys (Noise).
  • Chat with its models like any provider. Connections follow the kill switch (offline refuses them; Tor and SOCKS5 carry them with remote DNS) and show in the Privacy Center's audit log.
  • Signed receipts. Every answer from the node is checked against the receipt key pinned when you paired: the receipt line says "kept on studio ✓" when nothing left the node, "studio → 1 host" when it used a cloud model (with the hosts, routes and what it redacted), or "studio unverified".
  • Phone first, then my node. With "phone first" on a node chat, this phone answers first and a weak answer goes to your node instead of a cloud model. The node is hardware you own, so a sensitive prompt may go there and "Never" allows it; these turns are marked private, so the node never sends them on to a cloud model.

The agent on your machine (Android)

  • REMOTE › Agents · my node. Give the Autobot Agent running on that machine a task: shell commands and file work, on its models. Every command, file write and read outside its working folder comes to the phone as a card first: Allow, Always (this conversation) or Deny.
  • Scheduled tasks. The calendar button lists what the agent runs on a schedule (next run, how the last one went), adds tasks (cron, @daily, every 30m) and removes them. Scheduled runs only do what you allowlisted.

Fixes

  • Node chats no longer show a REDACT chip: nothing is redacted for hardware you own.
  • The streaming check with a real node leaves room for thinking models.

iOS: the pairing and receipt code is shared and tested on CryptoKit; the iOS node connector comes next, so "My node" says "not on iOS yet".

SHA-256 published 4 files Public release
1.8.0 Images come out the shape you pick, a full-screen viewer, recipes that run on their own,… Autobot 1.8.0 · 4 files 18 OCT 2026

Images come out the shape you pick, a full-screen viewer, recipes that run on their own, phone-first answers and a panic PIN.

Images (both platforms)

  • 16:9 means 16:9. Picking a wide or tall shape could still give a square: on-device models compiled for one size (Core ML on iOS, QNN on Android) quietly swapped your size for theirs. They now render their square and return your shape cut from it, and Tune says "compiled for 1024² · other shapes are cut from the square".
  • The resolution is a pixel budget. 16:9 at 1024 is about a million pixels in that shape (1368×768), so wide images keep the detail of the square. Every shape chip names the exact size it makes, and the picker remembers your choice instead of snapping back to 512.
  • Picking a model keeps your shape instead of resetting to its square. MNN sizes round to the nearest 64 instead of always down.
  • A server that sends back a square anyway is cut to your shape (Android) or named in a notice (iOS), and the gallery records the size it really got.
  • Full-screen viewer. Tap a result, a gallery image or an image in chat: pinch or double-tap to zoom, pan, swipe through the batch, swipe down to close. The info sheet shows the real pixel size and every setting used.
  • Do more with an image: use it for img2img (prompt and settings carried over, strength showing), inpaint, vary, reuse settings, same seed, upscale 4× (when an upscaler is installed), share, save, copy settings, favorite, delete.
  • The agent's generate_image takes an aspect ratio and keeps the shape when given one side.
  • img2img without an input image now says so instead of quietly running as text-to-image; Tune says when a model can't apply your LoRAs.

Recipes (both platforms)

  • On-device agents on a schedule. Settings → Recipes: a prompt, a schedule, a model and the tools it may use. Runs in the background on the phone (WorkManager on Android, background processing on iOS), once for a missed time, safe across daylight-saving changes.
  • A private notification opens the result chat after the app lock. While the phone is locked, iOS says "Unlock to run <name>". Recipe data is encrypted and goes with a wipe.

Phone first (both platforms)

  • The phone answers first. Off by default. Settings → Privacy → Phone first (ask / auto / never) and a chip per chat: in a cloud chat the installed on-device model answers, and
SHA-256 published 4 files Public release
1.7.1 Cleaner prints, a faster start, and dictation that keeps up: a polish release. Autobot 1.7.1 · 4 files 17 OCT 2026

Cleaner prints, a faster start, and dictation that keeps up: a polish release.

Cleaner ink (both platforms)

  • No more doubled dots. On Android, the paper behind the Image screen, chat, voice, Models, Gallery and the lock drew every dot twice, with a faint copy a few pixels off. Paper is one plate again.
  • Prints land on their own dots. When a result printed, its colour plate started half a dot away and read as a second grid. It now starts as a thin rim on the same dots and settles.
  • Pictures print in where they show. A wide image in a square chat thumbnail or a Studio chip no longer prints a stretched copy next to the cropped one.
  • One dot field per screen: the voice panel, the empty Models search and empty chat no longer stack a second field under the first, and image proofs sit on whole pixels.
  • iOS: a halftone preview always matches its own image. A new image could pick up an old image's dots.

Faster (both platforms)

  • Android starts sooner. The app now ships a Baseline Profile, so startup code runs precompiled even on a sideloaded install. On the emulator: 13–17% less time to the first real screen and about 20% less main-thread work.
  • iOS starts sooner. Fonts and device checks load in the background, about 90 ms earlier to the first frame in the simulator.
  • Live dictation shows words sooner and more often. Partial passes only encode the audio heard so far, 2–4× less work. Stopping usually has nothing left to transcribe.
  • Faster draft-model checks. Each speculative step costs less, a draft that failed to load is retried later, and a failed check carries on without the draft instead of ending the answer.
  • Image model warm-up. It loads again ahead of Generate after it was freed, switching models no longer loads both, and on Android it stays loaded while the Image screen is open.
  • Smoother lists: the iOS chat list scrolls with fewer hitches, and Android's Models list only redraws rows that changed. Catalog previews and parsed chat text have a memory limit on iOS.

Fixed

  • Read-aloud no longer cuts off the last words before the assistant uses a tool.
  • Talking over a spoken answer no longer triggers by itself when the voice resumes after a pause.
  • iOS: the last words you say before tapping stop are no longer lost from dictation.
  • A quick double tap on the mic starts one dictation, not two.
  • The Image scree
SHA-256 published 4 files Public release
All releases → Data 19 OCT 2026 · v1.10.0 latest
08 Roadmap

Roadmap.

The roadmap is public. A phase is done when its exit criteria hold on both platforms and on real hardware — not when the build passes.
G1

On-device first

Every feature works offline on the phone’s fastest accelerator. The network is an opt-in tool, never a requirement.

G2

Private by construction

Nothing leaves unless you can see it in the audit log and could have switched it off. No telemetry, ever.

G3

One app, two platforms

Android and iOS ship the same features, version and behaviour. Logic lives in shared code; only UI and OS glue is per platform.

G4

The riso feel

One signal red on ink or paper, Antonio and JetBrains Mono, halftones. The same tokens draw the app and this page.

Now

Phase 0 · 1.2.x

Shipping and verifying. The accelerators are built and the shared core is live; the remaining gate is real-hardware verification on the 8 Elite Gen 5.

In progress Both platforms

Read the plan

ROADMAP.md
Verified, not assumed. The Snapdragon NPU and Adreno paths still need a run on the hardware they were built for. The diagnostics report is how that gets closed.
Take it with you

The model goes
in your pocket.

Download Autobot for Android or iOS, or install the agent on a machine you own. No account, no telemetry, no request you did not make.