01Introduction & Architectural Privacy
Nuvilo's privacy is enforced by engineering, not just policy. Because the application operates offline without network permissions, data breaches and unauthorized cloud profiling are prevented at the Linux kernel level.
02Scope & Application Identity
This policy governs Nuvilo for Android (com.nuvilomed.app, internal namespace com.example.nuvilo).
03Data Inventory Stored On-Device
- Medication records — name, strength, form, unit, clinical notes, color tags.
- Schedules — times, days of week, target intervals.
- Dose events — occurrence IDs, confirmed/skipped/missed timestamps, correction notes.
- Inventory & FEFO lots — batch lot numbers, expiry dates, stock balances.
- Prescriptions — reference numbers, repeats authorized/remaining, pharmacy notes.
- Application preferences — theme mode, app lock toggle, privacy mode toggle.
04Purely Local Processing
All calculations (adherence percentages, FEFO stock deductions, exact reminder alarms) are executed by Kotlin code directly on the user's CPU and stored in local SQLite (/data/data/com.nuvilomed.app/databases/novelo.db).
05Special-Category Health Data
Medication routines represent sensitive personal health data under GDPR (Article 9) and international regulations. Nuvilo acts as an offline personal tool where the user is the sole custodian.
06Alarms & Notification Privacy Mode
Reminders are delivered locally via Android AlarmManager. When Notification Privacy Mode is enabled, notification titles and bodies are masked on public lock screens (e.g. "Medication Reminder"), concealing drug names and dosages.
07Biometric Authentication vs Data Collection
Nuvilo uses Android's native BiometricPrompt for App Lock. Biometric templates remain isolated in the device's hardware TEE/StrongBox. Nuvilo receives only a boolean pass/fail signal.
08Military-Grade Encrypted Backups (.nuvilo.json)
Users can export full backups encrypted with AES-256-GCM and PBKDF2 (100,000 iterations, 16-byte random salt). Passphrase characters and key bytes are wiped from memory immediately after encryption. Forgotten passphrases cannot be recovered.
09Plaintext CSV Data Portability (.zip)
For spreadsheets or clinician visits, users can export an unencrypted ZIP bundle containing 7 CSV tables. The app displays an explicit warning before saving.
10Storage Access Framework (SAF)
Export and restore operations use Android's system document picker. If a user saves a file to Google Drive or Dropbox, that transfer is handled by the user's selected cloud document provider, not Nuvilo.
11Zero Third-Party Sharing
Nuvilo does not disclose, sell, license, or transmit any data to advertisers, analytics providers, insurers, or data brokers.
12Android Cloud Backup Exclusions
Nuvilo explicitly sets android:allowBackup="false" and includes XML rules excluding its database and DataStore preferences from automated Google Drive cloud backups.
13Data Retention & Permanent Deletion
- Deleting a medication executes a
CASCADEdelete, instantly removing all associated schedules, doses, stock lots, and prescriptions. - Uninstalling the app permanently purges the local database from the device.

14Device Security
We recommend keeping your device updated with the latest security patches. When App Lock is active, FLAG_SECURE blocks screen capture and Recent Apps thumbnails.
15Children's Privacy
Nuvilo does not collect data from children or anyone else remotely.
16Website Visitor Data vs Mobile App
While the Android app is 100% offline, visiting this website involves standard server access logs (IP address, browser user-agent) collected by the website hosting infrastructure solely for site delivery and security. These logs are not linked to the app and contain no health data.
17Changes to this Policy
This policy is effective immediately, and updates are posted to this page as soon as they take effect.
18Legal Controller & Contact
- Publisher
- Stankex
- Official Contact Email
- sharelert@gmail.com

