What PearLift stores
PearLift stores workout data, program data, timer state, and selected
app settings locally on your device so the app can function.
- Workout programs and exercise structure
- Logged workout values such as sets, reps, and weights
- Theme, language, and related app settings
- Rest timer state needed to restore an active timer
What PearLift does not collect
PearLift does not require an account and does not bundle proprietary
analytics, ad, or tracking SDKs. The device sync feature
does not change this: it still works without an account and does not
collect usage data.
- No advertising SDKs
- No analytics or behavioral tracking SDKs
- No Firebase Cloud Messaging, Crashlytics, or ML Kit barcode dependency
- No mandatory cloud account for normal use
Permissions and feature use
PearLift only uses permissions that map to visible app features.
- Camera: used to scan backup QR codes and sync room invite QR codes when you choose to import or transfer data.
- Notifications: used for local timer completion alerts and Android foreground timer notifications.
- Foreground service and wake lock: used on Android to keep rest timers running reliably in the background.
- Internet: used for device sync (Holepunch) to discover and connect to your other device. All data transmitted is end‑to‑end encrypted.
Device sync
PearLift offers an optional device‑to‑device sync feature powered by
Holepunch. It lets you keep workout data
consistent across your own devices without storing anything in the cloud.
- Sync is initiated by you: you create a room (generates a 64‑character pairing secret) or join one by scanning a QR code or pasting the key.
- Peer discovery uses Holepunch and, if needed, relay servers for NAT traversal. No central server coordinates the connection.
- All data is encrypted end‑to‑end with the Noise protocol and libsodium secret‑stream. Relay servers cannot read your data.
- Synced data includes workouts, exercises, weights, and program structure. Local preferences (theme, current day, rest duration, units, language) stay on each device and are not synced.
- Sync is active only while the "Start Sync" session is running; you can stop it at any time.
- The sync QR code format (
pearlift‑sync‑room:v1:) is different from the backup QR format. The existing backup export/import feature remains available and unchanged.
Backups and sharing
PearLift supports local backup export/import and QR‑based device
transfer. These actions are initiated by the user.
- Exported backup files are created only when you request them.
- Importing or restoring a backup happens only when you choose it.
- The device sync feature uses a different QR code format and is also fully user‑initiated.
Data sharing with third parties
PearLift does not intentionally transmit your workout data to third-party
analytics, advertising, or tracking services as part of its normal app
flow. During device sync, encrypted data may pass through
Holepunch nodes or relay servers, but these operators cannot
decrypt or access your data.
Contact
For support or privacy questions, use the project support page:
https://github.com/Okazakee/PearLift/issues
If a dedicated support address is added later, this policy should be
updated to reflect it.