⭐️ If this project helped you, please star it — it helps others find it.
We've hit 40K downloads! Thank you to everyone for supporting Box.
Note: If you're using a custom ROM (LineageOS, GrapheneOS, CalyxOS), download the
custom-rom-supportAPK from the latest release instead.
Install via Obtainium
- Open Obtainium on your phone
- Tap the + button
- Paste this repo URL:
https://github.com/jegly/Box - Tap Add
Recommended for most users: Main version
Which version should I install?
-
The in-app updater is also available in Settings
Setup steps
- Tap the badge for your version above — this opens Obtainium with the repo pre-filled
- Under APK filter regex, enter one of the following:
- Main:
Main - Custom ROM:
custom-rom-support
- Main:
- Tap Add — Obtainium will find the latest release and install it
- Future updates will be detected automatically
Note: As of v2.0.0, the in-app App version matches the Box release version (2.0.0) — the earlier mismatch with the upstream Google AI Edge Gallery build number (which showed 1.0.15) is fixed (#67). Box releases are tracked via GitHub tags. Use Settings → Check for updates to see if a newer Box release is available.
Box is a security-hardened, feature rich fork of Google AI Edge Gallery — with on-device image generation (Bonsai Image 4B, FLUX.2 klein & Z-Image Turbo diffusion), Box Assist (spoken camera assistance for blind and low-vision users), AI image upscaling, face recognition, photo erase/inpainting, music & sound generation, voice mode (speech-to-speech AI chat), voice input, multilingual text-to-speech, document analysis and Q&A, vision AI, full GPU and Snapdragon/Tensor/MediaTek NPU acceleration, a hardened security posture (biometric lock, encrypted chat history, tap-jacking protection), llama.cpp support, and GGUF model import — and more
[!IMPORTANT]
Disclaimer
Box began as a fork of Google AI Edge Gallery and is not affiliated with or endorsed by Google LLC. Google branding has been replaced throughout. Box has since diverged substantially from upstream — active merging with upstream stopped some time ago, and upstream has itself since adopted features that originated in Box. Box now carries roughly 50+ features not present in upstream Google AI Edge Gallery. Credit for the original underlying platform goes to Google and the original contributors.
Changelog v1.0.7 – v3.5.5
Related
Built OfflineLLM first — a privacy-first Android chat app with a pure llama.cpp backend.
What is Box?
Box is an Android app for running AI entirely on-device — chat, voice mode, image generation, image upscaling, speech-to-text, text-to-speech, document analysis, and vision, all without a network connection. It inherits the full feature set of the upstream Google AI Edge Gallery and layers on top: encrypted conversations, biometric lock, hard offline mode, and three additional native inference engines (llama.cpp, stable-diffusion.cpp, whisper.cpp) alongside LiteRT.
Box: On-Device AI. No Cloud. No Compromise.
What makes Box unique? You can sit at your desk, tap two buttons, and have a real flowing voice conversation with an AI — no wake word, no account, no server, no subscription. It listens, thinks, and speaks back sentence by sentence before it's even finished generating. Point the camera at something and ask about it out loud. The AI sees it and answers. All of it runs on the phone in your hand, completely offline, faster than you'd expect.
Screenshots
[!NOTE]
What Box adds on top of upstream
Box started off as a fork of Google AI Edge Gallery. The upstream project is excellent — Box layers on additional capabilities and features not present in upstream.
Core Features
Local Chat
Multi-turn conversations with on-device LLMs. Import any GGUF model or download LiteRT models from the built-in list. Supports Thinking Mode on compatible models. Full markdown rendering with LaTeX math support — Greek letters, operators, fractions, and notation are rendered as Unicode symbols. Conversations are persisted and resumable.
Recommended models: We highly recommend Gemma 4 E2B or Gemma 4 E4B (LiteRT) as your primary models — best-tested, support vision, voice, and documents, and run efficiently with GPU/NPU acceleration. Available to download directly in the app.
With Gemma 4 E2B / E4B selected, the chat input expands to a full multimodal interface:
- 📎 Attach documents (
.txt,.md,.csv,.json,.py,.kt, and more) — content is injected into context automatically - 🎙 Record an audio clip or pick a WAV file to speak your question
- 📷 Take a photo or pick from album for visual Q&A
Box Assist — Spoken Camera Assistance
Built for blind and low-vision users, and useful to anyone who wants a talking camera. Live mode calls out people, obstacles and objects around you with how close they are; Reading mode reads mail, labels, menus and signs aloud; Describe mode answers "what's in front of me?" in a couple of spoken sentences — streamed aloud as the model generates; double-tap and ask anything out loud and Box answers against what the camera sees. One download includes everything (vision models, the Describe brain, and speech recognition). Continuous autofocus with a focus sweep before every capture, automatic flashlight when it's dark (Box tells you), a blur check so Reading waits for a sharp frame, physical volume-button controls, hold-to-repeat, TalkBack coexistence, and a launcher shortcut straight into it. Everything runs on-device.
Local Diffusion
On-device image generation powered by stable-diffusion.cpp. Runs Stable Diffusion 1.5 in GGUF format fully offline — no API key, no cloud. Configurable steps, CFG scale, seed, and image size presets. Save generated images directly to your gallery. Import your own GGUF diffusion models.
Image Generation — Bonsai, FLUX.2 klein & Z-Image Turbo
Three full text-to-image diffusion models running 100% on-device via LiteRT.
Bonsai Image 4B — recommended. A ternary-weight build of FLUX.2 [klein] that produces 512×512 images in 4 steps from a ~4.3 GB download, guidance-free. It runs on the CPU rather than the GPU — its 2.27 GB diffusion graph is too large for the GPU delegate — so allow a couple of minutes per image and around 8 GB of RAM. Send the output through Upscale → EDSR ×4 for a 2048×2048 image.
FLUX.2 klein (4B) generates photorealistic images in just 4 steps (~7.4 GB download); Z-Image Turbo runs in 9 steps (~10.6 GB) and shares nearly a gigabyte of its files with klein, so Box is smart enough not to download those twice. Interrupted multi-gigabyte downloads resume without refetching finished files.
All three produce noticeably better output than the bundled Stable Diffusion GGUF models.
Music & Sound Generation
Generate music and sound effects from a text description — completely on-device, no internet, nothing leaves your phone. Under the Sound tab, pick a tier: SoundGen for quick clips and sound effects in seconds, SoundGen HD for higher-quality audio up to ~24 seconds, and SoundGen HD Long for full-length pieces up to ~3 minutes. Describe what you want, set the length, and hit Generate — then play it, save it to your device, or share it. The generator downloads on first use, then runs entirely offline.
Image Upscaling (Super-Resolution)
Enhance and enlarge any photo 4× on-device with AI super-resolution. Pick an image, upscale it, and save the result to your gallery — fully offline, nothing leaves the device. Choose between XLSR (fastest, tiny), Real-ESRGAN General (balanced), Real-ESRGAN x4plus (highest quality), and EDSR ×4. All four models are bundled in the app and run via LiteRT, so there's nothing to download. Photos are auto-rotated (EXIF-aware) before upscaling.
Photo Restoration (Deblur & Denoise)
Repair a photo on-device. Deblur targets motion blur from camera shake or a moving subject; Denoise removes the grain phones produce in low light without smearing away detail. Both use NAFNet via LiteRT, run on the GPU, and are bundled in the app — no download, works offline. Arbitrary-size photos are processed in overlapping 256×256 tiles and stitched seamlessly, and the result keeps the original dimensions. EXIF-aware, so portrait shots are not rotated.
Document Flatten
Straighten a photograph of a curved or crumpled page so the text lies flat — useful for receipts, book pages and forms shot at an angle. Uses DewarpNet via LiteRT; the model predicts a correction grid which Box applies to the full-resolution original. Downloaded on first use.
Portrait Sketch
Redraw a portrait photo as a pencil line drawing, using U²-Net via LiteRT. Works best on a single, well-lit, centred face. Downloaded on first use.
Voice Input
On-device speech-to-text using whisper.cpp or SenseVoice (Sherpa-ONNX). Tap to record, tap to transcribe. Copy or clear results. Whisper supports Tiny through Large-v3 in multiple languages; SenseVoice adds fast multilingual transcription (Chinese / English / Japanese / Korean / Cantonese, ~5× faster than Whisper) with a live preview, a multi-message log, and optional emotion/event tags. Audio never leaves the device.
Text-to-Speech
On-device speech synthesis straight from text. Supertonic offers lightweight multilingual TTS (English / Korean / Spanish / Portuguese / French) with multiple built-in voices and adjustable speed, alongside Piper and Kokoro voices. Fully offline — text never leaves the device.
Free Talk — Real-Time Voice Conversation
Tap the mic and the speaker. That's it. Box listens to you, sends your words to the AI, and speaks the reply back — then immediately starts listening again. No tapping between turns. No waiting for a full response before it starts speaking. Just sit there and talk to it like a person.
On Gemma 4 E2B it keeps up in real time. The first sentence of the reply is already being spoken while the model is still generating the rest.
- "Explain quantum entanglement like I'm five" → speaks the answer, listens for your follow-up
- "Actually, go deeper on that last point" → multi-turn, completely hands-free
- "Help me think through a problem I'm having at work" → back and forth, no typing ever
- "What should I cook for dinner tonight? I've got chicken and not much else" → practical daily use
It feels like having an AI sitting across from you. Entirely offline. Nothing leaves the device.
Three toggles in AI Chat control it:
- 🎤 Mic — tap once to enter free talk mode, tap again to stop
- 🔊 Speaker — AI replies spoken aloud, sentence by sentence as they generate
- 📹 Camera — live vision mode (see below)
Enable Real-time voice reply in Settings for sentence-by-sentence speech as the model generates. Works out of the box with Android's built-in speech and TTS — load a Whisper or Piper model for higher quality.
De-Googled ROMs (GrapheneOS, CalyxOS, LineageOS without GApps): Use the custom-rom-support APK — it includes Piper TTS (Amy) as a built-in download in the Voice tab, so no third-party TTS app is needed. If you're on the Main build, install a TTS engine from F-Droid (e.g. RHVoice or eSpeak NG) and set it as default in Android Settings → Accessibility → Text-to-speech.
Vision Talk — Live Camera + Voice AI
Tap the camera toggle to stream your back camera directly to the AI. Point it at anything and ask — the AI sees the current frame alongside your question and speaks its answer back. All offline, no cloud.
Things you can do:
- Point at a plant → "What species is this and how do I care for it?"
- Point at food in your fridge → "What can I cook with what's here?"
- Point at a label or sign in another language → "What does this say?"
- Point at a circuit board → "What component is this and what does it do?"
- Point at your code on a laptop screen → "What's wrong with this function?"
- Point at a meal → "Roughly how many calories is this?"
- Point at a maths problem → "Walk me through how to solve this"
Combine with mic + speaker for a fully hands-free vision conversation — speak your question, AI sees the scene, speaks the answer, listens for the next question. Requires a vision-capable model (Gemma 4 E2B or E4B).
When mic is off, camera mode sends a frame every 3 seconds automatically with "What do you see?" — useful for passive scene description.
Vision AI
Ask questions about images using on-device vision models. Powered by LiteRT with Gemma 4 E2B / E4B — GPU-accelerated, up to 32K context.
App Language
Switch Box's own interface language from Settings → Language — System, English, Français, Português, Português (Brasil), Deutsch or 简体中文. Box uses Android's per-app language support, so your choice is stored by the system and survives app updates. Coverage is partial in every language: around two thirds of Box's text is written directly into the app rather than into its translatable resources, so it stays English whatever you pick. German and Simplified Chinese cover everything that currently can be translated; French and Portuguese cover a subset of that.
Biometric App Lock
Enable an optional biometric lock from Settings. The app re-locks automatically every time it is backgrounded. Unlock via fingerprint or face authentication before any content is shown.
Encrypted Chat History
All conversations are stored in a SQLCipher-encrypted Room database. History persists across sessions and is resumable from the Chat History screen. Swipe to delete individual conversations, or wipe all at once.
NPU / TPU Acceleration
All Qualcomm Hexagon NPU variants (Snapdragon 8 Gen 2 / 8 Gen 3 / 8 Elite / newer), Google Tensor TPU (Pixel 10), and MediaTek NPU are bundled in a single APK — no separate builds per device. Select NPU/TPU in the model's accelerator dropdown; Box auto-detects the chip and loads the right runtime.
Note: As of v3.1.0, dedicated NPU/TPU model builds run on the neural engine — Gemma 4 E2B / Gemma 3 1B on the Google Tensor G5 (Pixel 10) and, as of v3.3.5, on the Google Tensor G6 (Pixel 11); Gemma 3 1B & Gemma 3 270M on Snapdragon (SM8550 → SM8850) and MediaTek Dimensity (MT6989–MT6993); and Gemma 3n E2B / Qwen3 0.6B on MediaTek Dimensity. These are SoC-specific compiled
.litertlmfiles that download automatically on matching hardware. The universal Gemma 3n E2B / E4B builds (multimodal) run on GPU/CPU everywhere — NPU acceleration for 3n is currently MediaTek-only. Generic litert-community GPU models still run on GPU (they don't ship the per-SoC NPU build). GPU remains an excellent default on all supported chips.
Supported npu accelerated hardware:
- Snapdragon 8 Gen 2 (SM8550, Hexagon V73)
- Snapdragon 8 Gen 3 (SM8650, Hexagon V75)
- Snapdragon 8 Elite (SM8750, Hexagon V79)
- Snapdragon next-gen (SM8850, Hexagon V81)
- Google Tensor G5
- MediaTek Dimensity (MT6989, MT6991, MT6993)
GGUF Model Import
Import any GGUF model file from local storage. At import time set the display name and choose the accelerator (CPU, GPU via OpenCL/Vulkan, or NPU via QNN delegate). Stable Diffusion GGUF models can also be imported for image generation.
As of v3.3.0 the GGUF engine runs with full Vulkan GPU offload (flip the CPU/GPU chip in any GGUF chat), a much faster pure-CPU mode, instant replies (loading does the waiting — weights read up front, reopened chats replay history during the loading screen), a tokens/sec stat under every reply, and a Settings → GGUF Models panel for context size, CPU threads, GPU layers, mmap, mlock and Q8 KV cache.
Hard Offline Mode
A toggle in Settings forces the app into a fully airgapped state — all download attempts throw an exception and no network calls are made.
Getting Started
Requirements
- Android 14+
- ~4 GB of free storage for a typical quantised LLM
- 6 GB of RAM (8 GB for Bonsai image generation)
Build from source
git clone --recurse-submodules https://github.com/jegly/box
cd box/Android
./gradlew :app:assembleDebug
The --recurse-submodules flag is required to pull llama.cpp, stable-diffusion.cpp, and whisper.cpp submodules. The first build compiles all three native libraries from source — expect 15–25 minutes.
Open Android/ in Android Studio and run on a physical device for best performance.
Loading a LiteRT/GGUF model
- Copy a
.litertlm/GGUFfile to your device (Downloads, USB, etc.) - Open the app → Model Manager in the drawer
- Tap Import and pick your file
- Set a display name and choose CPU / GPU / NPU
- The model appears in AI Chat
Security Architecture
Technology Stack
- Kotlin + Jetpack Compose — UI
- Hilt — dependency injection
- Room + SQLCipher — encrypted persistence
- LiteRT-LM — LiteRT inference runtime for LLMs (GPU + NPU/TPU)
- LiteRT (CompiledModel) — runs the bundled
.tflitevision models (image upscaling, Identify/PlantNet/DM-Count, MI-GAN erase, Box Assist Live) and the Bonsai / FLUX.2 klein / Z-Image diffusion pipelines - Qualcomm QNN / QAIRT 2.47 — Hexagon NPU runtime (V69–V81, bundled)
- LiteRT NPU dispatch — auto-selects Qualcomm / Google Tensor / MediaTek at runtime
- llama.cpp — GGUF LLM inference (git submodule)
- stable-diffusion.cpp — GGUF image generation (git submodule)
- whisper.cpp — on-device speech-to-text (git submodule)
- Sherpa-ONNX (k2-fsa) — on-device speech engine: SenseVoice STT and Supertonic / Piper / Kokoro TTS (both branches)
Acknowledgements
Box would not exist without the work of the teams and individuals behind the projects it builds on.
🙌🙌🙌 A huge shout-out to the LiteRT Community — and to everyone building models 🙌🙌🙌
Hugging Face LiteRT Community — the single biggest
reason Box can do what it does. Nearly every model Box ships a card for is converted, quantised,
benchmarked and published by this community, for free, for anyone. That includes the per-chip builds
that are the hardest and least glamorous part of the job: the
Snapdragon and MediaTek and Tensor NPU builds, the GPU and CPU variants, and the model cards documenting what
actually runs and how fast. Those compiled .litertlm files are what turn "on-device AI" from a
demo into something that works on a phone in your pocket, offline.
And to every team and individual publishing open models — Google (Gemma), IBM (Granite), Alibaba (Qwen), DeepSeek, TII (Falcon), Black Forest Labs, Stability AI, and the many independent researchers and hobbyists releasing weights, quantisations and conversions: thank you. You do the expensive, difficult work and then give it away. Box is a wrapper around your generosity, and it would be an empty app without it.🙏🙏🙏
If you build models and would like to see yours in Box — or you know one that deserves a place — open an issue or send an email. LiteRT-LM builds are preferred, but quality GGUF suggestions are always welcome.
Google AI Edge Gallery — the upstream project this fork is based on. The Google AI Edge team built an exceptionally well-structured, open-source Android app and made it available under the Apache 2.0 licence. Everything in Box starts from their foundation. Upstream changes are periodically merged and any improvements we make that are appropriate to contribute back will be.
llama.cpp — Georgi Gerganov and the llama.cpp contributors for making high-performance on-device LLM inference accessible to everyone.
stable-diffusion.cpp — leejet and contributors for the C++ Stable Diffusion implementation that powers on-device image generation.
whisper.cpp — Georgi Gerganov and contributors for the Whisper speech-to-text port.
LiteRT / TensorFlow Lite — the Google teams behind LiteRT (formerly TFLite) and the NPU/GPU delegate infrastructure.
Sherpa-ONNX / k2-fsa — the k2-fsa team for Sherpa-ONNX, which powers the Piper TTS engine (Amy and other voices) in the custom-rom-support branch.
SenseVoice (FunAudioLLM) — the FunAudioLLM / Alibaba Speech Lab team for the SenseVoice multilingual speech-to-text models that power Box's fast STT feature (run on-device via Sherpa-ONNX).
Supertonic — Supertone Inc. for the Supertonic on-device text-to-speech models that power Box's multilingual TTS feature (run on-device via Sherpa-ONNX).
off-grid-mobile-ai — Mohammed Ali Chherawalla for the on-device Stable Diffusion Android implementation, which was instrumental in getting efficient on-device image generation working and influenced parts of Box’s ImgGen pipeline.
PocketSage — Umer Arif for the clean, fully offline RAG-on-Android reference implementation that the Document Q&A feature in Box is based on.
SherpaTTS — woheller69 for the clean, fully offline speech-on-Android reference implementation that inspired one of the early speech features in Box.
Thanks to aryoda and all the contributors for consistently reporting valid bugs. Appreciate the reports ! 🙏
Thank you to everyone who has opened issues, tested builds, or contributed to any of these projects. On-device AI is a community effort. 🙏
License
Links
- Box repository
- Upstream: google-ai-edge/gallery
- llama.cpp
- stable-diffusion.cpp
- whisper.cpp
- LiteRT-LM
- LiteRT NPU docs
- Qualcomm QAIRT SDK
- Hugging Face LiteRT Community
Checksums
Signing certificate
Both variants are signed with the same key. Use this fingerprint with Obtainium AppVerifier to verify the APK was signed by the correct key before installing:
Certificate SHA-256: 8346b1a70d09ff5c9f7d7febc874cf694b6e267032a4eb38e261d538bce7b09c
apksigner verify --print-certs Box_*.apk | grep SHA-256
Box for Linux (Desktop)
Box for Linux is a private, on-device AI workbench for the Linux
desktop. It chats with text, images, and audio; codes autonomously in its own
agent workspace; generates, inpaints, and upscales images; searches the web;
reads, audits, and edits your files; and answers from your documents — all on
your own machine, with no account and no telemetry. Built on Google's
LiteRT-LM runtime as a native GTK4 / libadwaita app, with a bundled
llama.cpp engine so GGUF models run side by side with .litertlm ones.
[!IMPORTANT] Box for Linux is a separate application, written from scratch as its own codebase. It is not a port or fork of the Android app. The two share a name and a design philosophy and have many of the same features, but they are independent projects. The Android app is open source (Apache-2.0). Box for Linux is open source (GPL-3.0): the source lives in the B0x repository alongside the
.debreleases.
What is Box for Linux?
Everything runs on your own hardware: the language models, the coding agent, the diffusion pipelines, the retrieval embedder, the image captioner, and the text-to-speech. The interface is native GTK, so it starts in under a second, uses modest memory, and fits your desktop. A nav rail puts every mode one click away — Chats, Notebooks, Image Studio, and Box Code — and your work stays on your machine.
Core Features
Two Inference Engines
Box is LiteRT-first: Gemma .litertlm / .task models run in-process on
Google's LiteRT-LM runtime with vision, audio, and native tool calling. A
bundled llama.cpp engine (CPU and Vulkan builds) runs GGUF models
alongside — Gemma QAT, Qwen coders, and anything else in the format — served
by a sandboxed local llama-server with tool calling, prefix caching, and
some forty tuning knobs in Preferences. A built-in model hub downloads
checksum-verified chat, image, and coder models in one click, and Box even
self-heals official GGUFs that ship with broken vocabularies (the gemma-4 QAT
duplicate-token assert) at load time.
Box Code — a Local Coding Agent
A standalone agent workspace in the spirit of Claude Code, running entirely on
your machine with either engine — LiteRT or GGUF. Point it at a project
folder and give it tasks: it explores with glob/grep/read, edits with
exact-match patches, runs tests and commands in a kernel-sandboxed shell
(writes confined to the project, no network), keeps a todo list, and asks you
when genuinely blocked. Sessions persist and resume; transcripts show every
tool call with syntax-highlighted code. Two permission modes: Ask (approve
each risky action, with previews of the exact edit or command) or Auto
(walk away — the sandbox still confines it). Type ahead while it works, press
Esc to interrupt, and watch it think ("Herding electrons… 42s · 3 tools").
Optional, off by default: web research through two vetted tools while the
shell stays offline. Project AGENTS.md files are honoured automatically.
Image Studio — Generate, Inpaint, Erase, Upscale
On-device image generation with two engines. Google's LiteRT diffusion
pipelines run Z-Image Turbo and FLUX.2-klein as chunked .tflite graphs.
The bundled stable-diffusion.cpp engine runs SD 1.5 / 2.1 checkpoints and
component bundles — Z-Image Turbo and FLUX.2-klein as GGUFs at any
resolution, downloaded resumably in one click. The studio does img2img,
inpainting with a paintable mask, A1111-style hires fix, LoRA with
webui prompt syntax, step caching for real CPU speedups, live previews as the
image resolves, seed reuse, and webui-compatible metadata embedded in every
PNG. An Erase tab removes objects with MI-GAN, and Upscale does exact
4× with EDSR. GPU users get Vulkan builds with low-VRAM offload switches.
Tools & Agent Mode (Chat)
Chat-side agent mode chains web search (DuckDuckGo over HTTPS, no API key), file reading, and grep across a workspace folder to handle multi-step requests, with a per-message cap and a live progress pill. Every tool call appears as a collapsible card with its arguments and result. Out-of-workspace file access is opt-in and prompts per path.
Local File & Log Audit
Give Box a file — a system log, a config — and ask for an audit. It map-reduces files larger than the context window into a single report with live progress, on either engine.
Knowledge Base: Document Q&A
Attach PDFs, Markdown, source files, or plain text and Box indexes them for retrieval; answers cite the passages used. Notebooks are reusable document collections that attach to any chat, with optional auto-attach.
Local Chat
Multi-turn conversations with streaming tokens, Markdown and LaTeX rendering, syntax-highlighted code blocks, and attachments (text, PDF, image, audio). Gemma 4 E2B/E4B are the recommended daily drivers with up to 128K context. Conversations save and resume; the sidebar is searchable; a bar tracks context usage.
Voice, Vision & Memory
Hands-free voice conversation mode with sentence-by-sentence TTS (Piper, six voices), push-to-talk, and audio-aware models. Live camera vision through GStreamer/PipeWire captures a frame per turn. Persistent memory recalls facts you explicitly save, with an inspector to review and delete.
Themes & Glass
52 themes — Catppuccin, Dracula, 44 Ptyxis terminal palettes, and two built for translucency: Glass and Liquid Glass. Flip on Glass mode for a see-through window with luminous hairline edges, or Liquid Glass for pill controls, specular highlights, and an accent light-wash — each works with any theme, with an opacity dial. Fourteen accent colours, bubble palettes and opacity, custom chat and header fonts (80 bundled, DotGothic16 included), pastel traffic-light window controls, and a repositionable nav rail (left/right/top/bottom, labels optional).
Security & Privacy by Architecture
Model servers and image generators run kernel-sandboxed (Landlock LSM where available, systemd hardening otherwise, hon