Privacy Policy
Last updated: September 25, 2025
Meows is an Android server monitoring app. This policy explains what data the app processes, how it’s used, and your choices.
Data We Collect
- Server configuration you provide: host/IP, port, username, and optional password/private key/passphrase. Stored only on your device and encrypted with Android Keystore + AES‑GCM. Not transmitted unless you opt in to cloud backup.
- Monitoring and events (on‑device): CPU, memory, disk, network, system version, uptime, connection status and latency. Used to display status and trigger thresholds. History is short‑lived (~5 minutes) and auto‑purged.
- Notification data (for push): FCM token, a pseudonymous in‑app userId, device model/manufacturer, Android version, app version, and timestamps. Used to route alerts and check service health. Stored on device and sent over HTTPS to the developer‑operated push service to deliver notifications.
- Google account and access token (backup only): If you connect Google Drive, the app stores your access token locally (DataStore) and uploads a client‑side encrypted backup JSON to your Google Drive. Backups contain servers, encrypted credentials, and app settings.
How We Use Data
- Create SSH connections and compute metrics on device.
- Send local or FCM alerts when thresholds are hit.
- Perform optional encrypted backup/restore to your Google Drive when you authorize it.
- Label server regions using an offline GeoIP database.
Third‑Party Services
- Developer‑operated push service (fcm.sosoecho.com): Receives the minimum required data to deliver your alerts to your devices: pseudonymous userId, FCM token, device info, and alert metadata (serverId/name, alert type, value/threshold if present, timestamp). No server credentials are sent.
- Firebase Cloud Messaging (Google): Used to deliver notifications to your device; see the Firebase Privacy and Security and Google Privacy Policy.
- Google Drive API (optional): Used only if you enable backup/restore. Uploads are encrypted on your device with your master password; neither we nor Google can read backup contents without it. Files reside in your own Google Drive; see the Google Privacy Policy.
- GeoIP database download: The app downloads an offline country/region database from a public CDN (e.g., testingcf.jsdelivr.net) to resolve IP locations locally. Your server IPs are not sent to third parties.
Backup Contents (Google Drive)
When you opt in to backup, the app creates a password‑protected JSON that contains:
- Servers: name, host/IP, port, username, group, active/pinned status and time, region code, per‑server refresh interval.
- Encrypted credentials: password, private key, and key passphrase (each field protected with dual‑layer encryption tied to your master password).
- App settings: refresh interval, theme mode, language, and privacy‑mode toggle.
- Metadata: app version and backup timestamp.
Backups do not include: monitoring history, SSH session logs, GeoIP databases, FCM tokens, or device identifiers.
Storage & Security
- Local encryption: credentials are stored with Android Keystore + AES‑GCM in DataStore; removing the app deletes this data.
- Backup encryption: dual‑layer (random key encrypts data; master password encrypts random key) with PBKDF2 (100,000 iterations).
- Transport security: all service calls use HTTPS; cleartext traffic is disabled.
- System backup disabled: Android system backup is off (allowBackup=false).
Data Storage Locations (By Type)
- Credentials (passwords/private keys/passphrases): Stored only on your device in the app’s private storage, encrypted using Android Keystore + AES‑GCM (payload held in DataStore; keys held in Keystore). Not written to logs, not exported except inside your encrypted backups.
- FCM token & device mapping: Token is stored locally in DataStore to manage registration and refreshed as needed. For delivery, your pseudonymous userId and FCM token are registered over HTTPS with the developer‑operated push service; you can request deletion of this mapping via email.
- Monitoring history: Stored locally in a Room (SQLite) database and kept for ~5 minutes for charts; auto‑purged every 5 minutes.
- GeoIP database: Downloaded to the app’s private files directory for offline lookups; contains no personal data.
- Backups (optional): Encrypted JSON files saved to your Google Drive under your account; decryption requires your master password.
Retention & Deletion
- Monitoring history: ~5 minutes; cleaned every 5 minutes.
- FCM token/userId mapping: kept on your device; delivery mapping at the push service is removed on request or when long‑term invalid.
- Cloud backups: remain in your Google Drive until you delete them.
- Complete removal: uninstalling the app deletes local data. To remove push‑delivery mappings, contact us via email below.
Your Choices
- Disable notifications, disconnect Google Drive, delete servers, or toggle privacy mode in settings.
- Export/backup and delete your data at any time; contact us to request deletion of push mappings.
- We do not sell personal data.
Children’s Privacy
This app is not intended for children under 13, and we do not knowingly collect personal information from children.
Legal Rights
If you are in the EU/UK, you may have GDPR rights (access, rectification, erasure). If you are in California, we do not “sell” or “share” personal information for cross‑context behavioral advertising. Contact us to exercise rights; we typically respond within 30 days.
App Permissions
INTERNET / ACCESS_NETWORK_STATE: SSH connections, GeoIP database download, push/Google APIs.
POST_NOTIFICATIONS: Show alert notifications on device.
Changes
We may update this policy and will post changes with the “Last updated” date. Continued use after changes indicates acceptance.