Skip to content

Licensing

pq-cybarg edited this page May 29, 2026 · 1 revision

Licensing

Tetherand is a composite project. Different subdirectories ship under different licenses depending on what they fork, port, or link.

The full per-subcomponent licensing map lives at LICENSE.md in the repo. This page summarises it for quick reference.

Headline

  • Original work in this repository — code, scripts, configuration, and documentation written for Tetherand — is licensed under the MIT License.
  • Forked, ported, and vendored code keeps its upstream license. Per-subdirectory NOTICE files document specific upstream origins.
  • The assembled APK and the host-side tetherand binary are governed by GPL-3.0-or-later in aggregate, because GPL-3.0 ports are linked into them.

Reusing the MIT-licensed parts

If you want to extract just our original work — the build scripts, the documentation, the deterministic AI Guard heuristics in isolation, the bundle-combination tool, the hash-sidecar tool, the macOS LaunchAgent, the hardened-mode orchestrator — MIT terms apply.

You can do this freely without GPL-3.0 obligations attaching, as long as you don't redistribute the assembled APK or binary, because those are aggregations that include GPL-3.0 code.

Building a thin "MIT-only" APK

It is technically possible to produce an APK that ships under MIT- compatible terms only, by omitting:

  • The Mullvad client libraries (drops M4).
  • The threat-detection module that ports AIMSICD, SnoopSnitch, NetMonster, and Crocodile Hunter (drops M7a).

The resulting APK loses the privacy-chain Mullvad option and the cellular threat detection. The rest of the app continues to function. This is not a supported build target — you'd need to patch android/app/build.gradle.kts and remove the relevant Kotlin packages from the source set yourself.

Subcomponent licenses at a glance

Component License
Tetherand original work MIT
Gnirehtet relay-rust fork (M1) Apache-2.0
BoringTun WireGuard userspace (M3) BSD-3-Clause
Mullvad client libraries (M4) GPL-3.0-or-later
nym-sdk (M5, opt-in) Apache-2.0 with some GPL-3.0 modules
Arti and tor-* family (M6) MIT OR Apache-2.0
obfs4 / meek / webtunnel implementations (M6.x) MIT (clean-room)
Conjure / gotapdance client (M6.x) Apache-2.0
Threat-detection ports (M7a) GPL-3.0-or-later
librtlsdr, libhackrf (M7b) GPL-2.0-or-later
libusb (M7b) LGPL-2.1-or-later
TensorFlow Lite / LiteRT (M10 runtime) Apache-2.0
AndroidX libraries Apache-2.0

Reporting license issues

If you believe code in the repo is mis-licensed, open a GitHub issue with the file path and the specific concern. For sensitive issues (for example, a fork you maintain has been mis-attributed), the author's email is published as the committer identity on every commit on main.

Clone this wiki locally