WitnessMe

Privacy Policy

Last updated: 2026-05-18

WitnessMe is a focus app. We collect as little as possible. This page explains what we do and don't collect, and what we never will.

TL;DR

What we collect

DataWhere it livesWhy
Your list of blocked app package namesOn your device only (Android DataStore). Never leaves.The app needs to know what to block.
Camera frames during a pushup sessionIn memory on your device only. Never written to storage. Never transmitted.Pose detection (MediaPipe) runs entirely on-device.
Your pushup rep count (e.g. "10")Sent to our Cloudflare backend, stored against an anonymous user ID.Powers the global leaderboard.
An anonymous user ID (random UUID) and a randomly generated handle (e.g. IRON_WITNESS_42)Stored on your device and on our server.Identifies you on the leaderboard. Never linked to anything personal.

What we don't collect

Permissions we ask for, and why

PermissionWhy
CameraTo count pushups via on-device pose detection. Frames are not stored or transmitted.
Usage accessTo detect when one of your selected blocked apps is in the foreground.
Foreground serviceTo run the polling check that detects the foreground app.
NotificationsTo show a persistent "WitnessMe is watching" notification (required for the foreground service).
Query all packagesTo list installed apps in the picker.

Third parties

Cloudflare (US / global edge) hosts the leaderboard backend. Cloudflare may log standard request metadata (IP address, user agent) per their privacy policy.

That's the entire list. No analytics, no ads, no third-party SDKs.

Data retention and deletion

Changes

If we change this policy in a material way (e.g. add analytics, change what's transmitted), the next app update will surface the change in-app before any new data is collected.

Contact

andrii@witnessme.fit


WitnessMe — pick your enemies. Pay the tax. The rule is the rule.