Skip to content

Security and privacy

Safety and privacy

Data flow on Android

flowchart LR
    APP[Steady app] --> ENC[record encryption]
    KEY[Android Keystore] --> ENC
    ENC --> DB[app-private SQLite]
    APP --> TOKEN[separate provider-token storage]
    KEY2[separate Keystore key] --> TOKEN

Security boundaries

Area Protection
Tracking data per-record AES-256-GCM in the app-private SQLite database
Keys non-exportable in Android Keystore
Provider tokens separate Keystore-backed storage
Companion memory encrypted private file
Screenshots blocked by default
App access optional device-lock authentication
Android system backup disabled

Portable backups

Portable backups are encrypted with a key derived from the user's passphrase through PBKDF2-HMAC-SHA-256 and AES-256-GCM. The passphrase is not stored and cannot be reset. Before a complete restore, the app displays a summary and requires explicit confirmation.

Excel exports are readable analysis files and are intentionally not encrypted. The encrypted backup is the protected storage format.

What is intentionally not included

  • no telemetry,
  • no mandatory user account,
  • no Steady cloud synchronization,
  • no provider tokens in backups, logs or Excel,
  • no Companion chats or local Companion memories in the normal tracking backup,
  • no personal demo data in the repository.

Encryption protects data at rest. An unlocked, rooted or otherwise compromised device is outside this protection model. Data deliberately transferred to an external AI provider is also subject to that provider's retention rules.

Sources