- The app runs entirely on your phone — it does not request internet access.
- We do not collect, transmit, sell, share, or access any of your data.
- No third-party SDKs, analytics, advertising, crash reporting, or tracking of any kind.
- Uninstalling the app deletes everything it stored.
Who provides the app
The app is published on Google Play by Fezzo753. Source code is available at github.com/Fezzo753/sms-simple-bu under the MIT License. The package name is com.sms_export_viewer.
What the app reads, and why
The app needs three runtime permissions to create an offline backup of the SMS, MMS, and call-log entries you choose, with contact names attached. Each is requested with a plain-language rationale on first launch.
| Permission | Purpose | Data accessed |
|---|---|---|
READ_SMS |
Capture SMS and MMS bodies for selected contacts | Sender/recipient number, timestamp, message body, read/unread state |
READ_CALL_LOG |
Capture call entries for selected contacts | Other party's number, timestamp, call type, duration |
READ_CONTACTS |
Display contact names instead of bare numbers; populate the contact picker | Contact display name and associated phone numbers |
READ_PHONE_NUMBERS READ_PHONE_STATE |
Detect your SIM number for backup file naming (optional — override in Settings) | SIM line-1 phone number |
For MMS, the app captures only text content. Attached images, video, and audio are replaced with a placeholder and not extracted.
Where the data goes
The app writes two files per device to its private app storage (Context.filesDir):
- Backup_<phone>.json — structured data used to merge future runs.
- Backup_<phone>.html — a self-contained viewer with the same data embedded.
This directory is sandboxed by Android: no other app can read it without root, and the data does not appear in your photo library, Files app, or any cloud backup unless you explicitly export it.
The app also stores a small set of preferences (selected contacts, date filter, phone-number override, last-run timestamp) via Jetpack DataStore. These never leave the device.
Sharing
The app provides a Share button that opens Android's standard share sheet — you choose where the file goes. Sharing is always explicit and user-initiated.
The in-app viewer includes Print (via Android's system PrintManager) and Export TXT (writes a plain-text dump and opens the share sheet). Both require your active tap. The recipient's handling of the file is governed by their own privacy policy.
Data we do not collect
- Phone number, IMEI, IMSI, device or advertising ID
- Messages, MMS attachments, call history, or contacts
- Crash reports, analytics, telemetry, or usage statistics
- IP address or network identifiers
- Name, email, or account information
- Location data
Permissions you can deny
Denying READ_CONTACTS still works — backups show phone numbers without names. Denying READ_SMS or READ_CALL_LOG disables backup of that category. Denying READ_PHONE_NUMBERS / READ_PHONE_STATE only affects auto-detection of your phone number; set it manually in Settings.
Retention and deletion
- Reset backup in Settings deletes the JSON and HTML files.
- Uninstalling the app removes all private storage and preferences.
- Files you exported via Share or Export TXT live wherever you sent them — deleting those is up to you.
We hold no remote copy of anything. There is no "request my data" or "delete my data" form because we do not hold any of your data on any server.
Third-party libraries
The app uses open-source libraries that run on-device only:
- Jetpack Compose, AndroidX (UI)
- kotlinx.serialization (JSON encoding)
- Google libphonenumber (phone number normalization, runs locally)
We do not embed Google Analytics, Firebase, Crashlytics, Facebook SDK, AdMob, or any equivalent.
Children
The app is not directed at children under 13. It does not knowingly collect data from anyone, including children.
Changes to this policy
Updates will be committed to the project repository with a revised effective date and referenced from the Play Store listing on the next app update. Substantive changes will be summarised in the release notes.
Questions? Open an issue on GitHub