Privacy
Privacy Policy
Restrainify is still coming soon. This policy summarizes the intended V1 privacy model from the product requirements and should be reviewed before public release.
Local-first protection
Restrainify is designed so core Android protection can keep working without continuous internet access. Website rules, app controls, visual protection state, recovery events, and queued sync changes are handled locally first.
On-device visual processing
Supported visual checks run on the Android device. Frames used for inference exist only for the decision transaction and are released after processing. V1 does not upload raw screenshots or screen frames for cloud visual analysis.
The visual model returns risk scores, confidence information, and optional regions. It is not intended to identify people, create biometric profiles, generate user embeddings, or send image content to the server.
Local storage
Local app data is planned to live in an encrypted Room database protected with SQLCipher. This may include settings, blocklists, aggregate usage state, recovery events, optional tracker events, model metadata, and synchronization records.
Raw screen data, full browsing history, and raw screen frames are not part of the local storage model for V1.
Account and synchronization data
When cloud sync is enabled, the Android app communicates with authenticated Next.js API routes. Supabase provides authentication and PostgreSQL persistence for user-scoped application data.
Synchronized records may include settings, manual blocklists, overrides, recovery events, optional tracker events, sync metadata, and profile/configuration data. The cloud is not part of the real-time visual protection decision loop.
Diagnostics and health
Product diagnostics should describe protection state, timing, failures, sync status, and degraded capabilities without storing screen content. If permissions, VPN capability, usage access, or supported social selectors fail, the product should surface a truthful degraded state rather than silently claiming coverage.
Account deletion and reset
The intended account deletion workflow removes server-side account data and clears account-bound local data. A local reset should remove product configuration, history, recovery data, model metadata, and cached update artifacts from the device.