# Sober > Local-first code review for AI-written code. Deterministic preflight catches > secrets, dangerous shell, and prompt injection; the Raccoon daemon reviews > MRs and PRs at the forge and never auto-merges. Sober reviews code before it ships, on two surfaces. The **Sober Client** is a pre-push gate on your machine: deterministic preflight, git hooks, and your own model or cloud subscription. The **Sober Raccoon Daemon** guards your Forgejo or GitLab: it reviews every MR and PR, stores signed evidence, and cannot auto-merge, close, or delete. Deterministic preflight needs no model and no network; model review runs under your policy with your own keys. Merge authority always stays with the human. ## Key pages - [Home](https://sober-dev.app/): what Sober is, the three surfaces (Client, Gate, Daemon), and the CE / EE / EE+ container tiers. - [Product](https://sober-dev.app/product.html): full feature list, git hooks, model routes, reviewer modes, tree-sitter language support. - [Raccoon](https://sober-dev.app/raccoon.html): the forge-side review daemon, run via systemd, podman, or cron. - [Enterprise](https://sober-dev.app/enterprise.html): CE, EE, and EE+ tiers, the hardened non-root container, and signed rule packs. - [Install](https://sober-dev.app/install.html): AUR, container, and source install paths. - [For Agents](https://sober-dev.app/agents.html): review of agent-generated code. - [Field Notes](https://sober-dev.app/ai-review-teardown.html): teardowns of AI code-review tools and the categories of slop they miss. ## Key facts - Sober is open source (LSL-1.0). The Community tier is free forever. - Deterministic preflight is pattern-exact and needs no model, no network, and no tokens. The same diff always produces the same result. - Preflight catches secrets, private files, dangerous shell (`eval`, `exec`, `curl | sh`), and prompt injection. - The Raccoon daemon reviews MRs and PRs on Forgejo and GitLab. It posts three advisory labels (`Sober clean`, `Sober findings`, `Sober error`) and has no auto-merge path in the binary. - Three container images: **CE** (Community), **EE** (Quarterly Stable, hardened non-root image + signed rule packs), **EE+** (Rolling release, managed appliance, fleet dashboard). - Evidence is signed and stored in a local SQLite store the operator owns; the diff never leaves the machine by default. - Models run on four routes: `local` (default), `daily`, `frontier`, `security`. - Tree-sitter AST facts span Go, Rust, Zig, Janus, Python, JS/TS, C, and Bash. ## Latest release (v0.11.1 — 2026-08-22) - **SPEC-039 REQUEST_CHANGES gate engages end-to-end.** `gate_thread_id` on `review_runs` round-trips the Forgejo review id (or GitLab discussion id) through the store; a later clean pass self-heals by resolving the prior blocker. Live verified on PR #25 with `gate_thread_id` 5 → 6 across consecutive push-synchronize reviews. - **Webhook accepts bare push events.** A direct-to-branch push was previously rejected with HTTP 400 `unsupported webhook event` and never reached the audit ledger. The handler now records `event=push, kind=push, number=0` for every push, so operators have an audit trail for all new commits landing outside PR/MR targets. - **Tier-name drift eliminated.** README, docs, and code comments no longer mention `EE−`, `Managed AppSec`, `EE Self-Hosted`, or `Enterprise Edition`. CE / EE Quarterly Stable (299 €/quarter) / EE+ Rolling release (199 €/month) are now consistent across the workspace and match the marketing site. - **Other fixes in this release:** per-repo `disabled true` opt-out; system-hook probe accepts cross-origin Sober receiver; basic-auth aware `setForgeHeaders` for sober-bot on the sovereign forge; `forge-post` / `forge-label` carve-out for forgejo+github (`--issue` vs `--merge-request`); catchup path no longer URL-escapes owner/repo; GitLab webhook probe tolerates 403 admin:read. - Source tag `v0.11.1` (commit `ca95f10`) on `git.sovereign-society.org/Sober/sober`. AUR `sober-bin` bumped to the matching binary (sha256 `57962a8a46343b7aa76722f74d7b1b198c3aad76324a1cebc53b013225b5a021`). ## Who it is for Developers who want clean code before the world reviews it, and teams in security-critical or regulated environments where the merge is a legal act or a security decision and no model gets merge authority. Stewarded by Markus Maiwald / Dlabs Kft, with the Self-Sovereign Society Foundation.