Skip to Content
Rampart

Principles

The four rules every Rampart feature must follow.

1. Clean-room

Rampart is written only from public sources: Android and Apple developer documentation, AOSP source, the OWASP Mobile Application Security project (MASVS, MASTG, MASWE — CC BY-SA 4.0), academic papers and permissively licensed open-source code whose licence we keep.

We do not download, decompile, inspect or copy any proprietary RASP SDK. Contributors confirm this in every pull request. See Contributing.

2. Zero network

The mobile library:

  • opens no connections to any remote host;
  • contains no analytics, crash reporting or "threat intelligence" upload;
  • adds no INTERNET permission of its own on Android.

CI enforces this with a static scan for networking APIs and a runtime test that fails on any outbound connection during a full check cycle. Attestation tokens are handed to your code; you send them to your backend.

3. Report and react

Rampart never kills, crashes or exits your app. It emits threat events with a confidence level and evidence codes. Your app decides what to do: show a warning, require step-up authentication, disable payments, or tell your server. See Reacting to threats.

Optional protective helpers (secure screen, hide overlays, block custom keyboards) change behaviour only when you switch them on.

4. Honest about limits

Every on-device check can be defeated by a skilled attacker who fully controls the device. Rampart says so, per signal, and points you to the server-verified signals that cannot be forged on-device. See Limitations.

On this page