Tetherand

FAQ

Is Tetherand specific to the 5364C13D?

The threat-detection cellular heuristics are tuned for the 5364C13D's MediaTek MT6878 modem and Android 16 (SDK 36) APIs. The tether, privacy chain, hardened mode, and AI Guard subsystems work on any Android 14+ device with similar hardware. The MediaTek-specific paths (/proc/ccci_md1_*, /dev/ttyMT0) cleanly degrade to a Dormant state on other chipsets.

Does Tetherand work on Wi-Fi only, without a laptop?

Yes. The reverse-tether to a laptop is one of four optional features. The privacy chain, threat detection, and hardened mode all run standalone with the phone's normal cellular or Wi-Fi connectivity.

Does it need root?

No. The base app runs on stock, un-rooted Android. There is an optional root-tier path (M7c) that reads MediaTek's modem diagnostic interface for higher-fidelity cellular threat detection — it cleanly turns off when not rooted.

Does the AI Guard ever send data to a cloud API?

No. This is a load-bearing hard constraint. Every model runs on the phone's NPU via LiteRT + NNAPI. The egress-LLM-API watch defense exists specifically to catch any other app on the device that violates this same principle.

How is the build reproducible?

The cross-compile scripts apply --remap-path-prefix so workstation-specific paths don't end up in .rodata panic strings. Combined with deterministic timestamps (Gradle clamps file mtimes to 1981-01-01) and the workspace's profile.release configured for strip = true, debug = false, the same source on the same toolchain produces byte-identical output.

That output is then hashed with two unrelated families (SHA-256 + SHA3-256). See Verifying downloads.

What about Snowflake?

The Snowflake pluggable transport is the one v0.1 deferral. Its upstream dependency github.com/wlynxg/anet uses a net.zoneCache internal symbol that was removed in Go 1.26. Until the upstream is patched, Snowflake builds need Go 1.22 or 1.23. The release ships without it; build it locally if you need it and have an older Go.

Why does the app icon look like a green ampersand?

The ampersand is the Tetherand wordmark — Tether joined to and by &. The dark slate background pairs with the in-app palette where the success-state colour is the same green (#00d68f).

How do I uninstall cleanly?

adb uninstall dev.tetherand.app

This removes the APK and every shared-preferences file. The encrypted data was never written outside the app's sandbox, so no cleanup outside of the package is needed.

If you used the macOS LaunchAgent:

launchctl unload ~/Library/LaunchAgents/com.tetherand.launcher.plist
rm ~/Library/LaunchAgents/com.tetherand.launcher.plist

How do I contribute?

This is currently a single-developer project. Read the design at docs/superpowers/specs/ and the per-milestone plans at docs/superpowers/plans/. Pull requests are welcome — please open an issue first to discuss scope, especially for anything that touches the deterministic-primary / contributory-AI boundary or the privacy posture.

Where do I report a security issue?

Security issues go to the same address that authors every commit on main. Please use PGP if at all possible. For sensitive issues, do not open a public GitHub issue.

Where do I get help?

Read the Home page first. After that:

If none of those answer your question, GitHub Discussions on the main repo is the right place.