Roadmap
Every milestone in the design spec is source-complete in v0.1. Below is the per-milestone status, scope, and what (if anything) is deferred to a sub-release.
Shipped milestones
| Milestone | Status | Scope |
|---|---|---|
| M0 | shipped | 5364C13D pre-flight playbook plus the scripts connect.sh, backup.sh, restore.sh, scripts/5364C13D-prep.sh, tutorial.sh. The playbook lives at ./tutorial.sh, served on http://localhost:7331/. |
| M1 | shipped | Tether MVP — forked Gnirehtet relay-core, custom-branded APK, USB-ADB and LAN-TCP transports, Compose Tether tab, tetherand run CLI. |
| M2 | shipped | Bluetooth-RFCOMM + USB-AOA transports, ratatui dashboard at tetherand tui, macOS LaunchAgent auto-starting on 5364C13D attach via IOKit polling. |
| M3 | shipped | Privacy-chain core — hop trait, chain orchestrator, WireGuard hop via BoringTun JNI, Privacy tab visualiser. |
| M4 | shipped | Mullvad full stack — classic WG, post-quantum tunnel (ML-KEM-1024), AF_INET-only kill-switch, multihop, DAITA traffic shaping, obfuscation transports (UDP-over-TCP, Shadowsocks, QUIC), app-level split-tunnel. |
| M5 | shipped | NymVPN mixnet hop — nym-sdk gated behind with-sdk feature, JNI surface, Sphinx 3-hop entry/exit, mnemonic-paid bandwidth. |
| M6 | shipped | Tor via embedded Arti — bridges (BridgeDB-format parser, 3/3 tests), vanguards toggle, prop362 NTor-ML-KEM-v1 handshake preference, Privacy tab Tor config card. |
| M6.x | shipped | Pluggable transports — obfs4 + meek + webtunnel inline in tetherand-pt (ntor handshake, ChaCha20-Poly1305 AEAD frames, HTTPS POST tunneling, WS upgrade); arti managed-PT wiring; TorFlowForwarder per-flow IP→arti DataStream forwarder; PtBinaryStager; cross-compile scripts for snowflake-client + conjure-client; live-probe integration tests. |
| M7a | shipped | Threat-detection MVP — NetMonster Tier 0 + AIMSICD BTSAlgorithm + SnoopSnitch RAT-downgrade + Crocodile Hunter (TAC / EARFCN / re-attach-storm) + Wi-Fi evil-twin + BLE tracker fingerprints + app-audit + per-geohash6 baseline + Threat tab + panic button. |
| M7b | shipped | SDR detection — SdrDetector scans for RTL-SDR, HackRF One, Nuand bladeRF, LimeSDR variants over USB-OTG; SdrSection threat-tab card; scripts/build-rtlsdr-android.sh cross-compiles libusb + librtlsdr + libhackrf. |
| M7c | shipped | Root-tier MediaTek modem readers — RootCheck 3-signal vote; CcciMd1Reader for /proc/ccci_md1_status + _ic_intr; MdlogParser; AtCommandChannel over /dev/ttyMT0; RootSection. Dormant on un-rooted devices. |
| M8 | shipped | Release polish — make native-all, make release-signed with DN allow-list gate, make smoke-device, make hashes + scripts/hash-artifacts.sh + scripts/bundle-combinations.sh, macOS LaunchAgent. |
| M9 | shipped | Hardened Mode — one-tap 5364C13D profile, pre/post attestation snapshot, frozen app-audit baseline, six-port honeypot, accelerometer tamper-watcher, twelve-item user-action checklist, Acknowledge/Isolate/Evacuate/Burn incident-response runbook, Quick Settings tile. |
| M10 | shipped | AI-era defenses — deterministic primaries (perplexity scoring, phishing rule, prompt-injection clipboard scrubber, C2PA/SynthID provenance, egress-LLM-API watch, NPU sysfs watcher, voiceprint vault, OSINT exposure) plus LiteRT runtime scaffold for the four-model contributory bundle. Hard constraint: no cloud LLM API ever called. |
Deferred to follow-up releases
| Item | Why |
|---|---|
| Snowflake pluggable transport binary | Upstream github.com/wlynxg/anet uses a Go internal symbol removed in Go 1.26. Awaiting an upstream fix. |
| LTE control-channel decoder (SIB/MIB parser) on the SDR path | The JNI hook ships in v0.1; the actual decode logic is sized for a sub-release. Plug in an RTL-SDR or HackRF One; SdrSection in the Threat tab confirms detection. |
| Four-model on-device AI bundle (~2.4 GB) | Delivered through the in-app delta-update path so v0.1's APK stays at ~59 MB. The deterministic primaries function fully without it per spec. |
| Hardened Mode extras | Front-camera selfie-on-failed-unlock, ultrasonic-beacon microphone listener, decoy profile, dead-man's switch, Seed Vault freeze. Each is independently scoped for a sub-release. |
Post-5364C13D intentions
- An iOS port of the deterministic-AI Guard primaries (no NPU dependency, just the rules).
- A standalone macOS / Linux command-line AI Guard mode that watches a local clipboard + downloaded files.
- A Privacy tab visualiser that renders the active chain as an interactive network diagram with live latency / throughput annotations.
- A Hardened Mode "dead-man's switch" that requires an interaction every N hours, or it auto-wipes.
None of these are scoped or scheduled. They are intentions, not commitments.