RoamSpool
Your own location diary, kept on your phone.
RoamSpool is a personal location diary. While you have recording switched on, it saves your phone's location and turns it into stops, journeys and gaps. That history stays on your phone. There is no account, no analytics, no advertising and no internet permission.
RoamSpool's manifest does not request INTERNET, ACCESS_NETWORK_STATE or ACCESS_WIFI_STATE; it explicitly removes them. An Android app cannot open a network connection without INTERNET — the operating system refuses. You can confirm this in the Play listing's permission list or by inspecting the APK.
That is why the app shows no map and looks up no addresses: a map would mean telling a map server where you are. The day screen draws your route from your own saved points, and places are called what you name them.
Where the position comes from. RoamSpool uses Android's fused location provider, part of Google Play services. How Google Play services works out a position (satellites, Wi‑Fi, mobile networks) is governed by your phone's location settings and Google's own terms. RoamSpool receives the result on the phone and sends it nowhere.
This is the complete list. There are no others.
| Permission | Why | Without it | Withdraw |
|---|---|---|---|
Precise location (ACCESS_FINE_LOCATION) |
Record where you are while recording is on. | Stops and routes are less exact (approximate only) or recording cannot run. | Settings › Apps › RoamSpool › Permissions › Location |
Approximate location (ACCESS_COARSE_LOCATION) |
Android asks for it together with precise location; RoamSpool works with approximate only, less exactly. | Recording cannot run. Import, viewing and backups still work. | Same place |
Foreground service, location type (FOREGROUND_SERVICE, FOREGROUND_SERVICE_LOCATION) |
The recording service runs as a visible foreground service of type location, with its notification. | Recording would not be possible. | Stop recording in the app or the notification |
Notifications (POST_NOTIFICATIONS) |
The recording notification with Pause and Stop, and a notice when recording you left on could not continue. | The notification is hidden; recording still runs and its state is shown in the app. | Settings › Apps › RoamSpool › Notifications |
Run at startup (RECEIVE_BOOT_COMPLETED) |
After a restart, check whether you left recording on and, if so, show a notice that recording stopped. It never switches recording on by itself. | You would not be told that recording stopped at a restart. | Install-time; not revocable |
You can attach photos to a stop with Android's system photo picker. RoamSpool sees only the photos you pick; it does not request access to your photo library. It keeps a link to each picked photo and reads its capture time to show whether it was taken during the stop. Photos are not copied, not included in backups and not included in exported files.
| Stored | Where |
|---|---|
| Saved locations as described above | App database roamspool.db |
| Stops you confirmed, edited, added by hand or removed, with notes | Same database |
| Places: the name you gave, coordinate, radius, note, whether it is private in exports | Same database |
| Recording events: when you started, paused, resumed and stopped (so gaps can be explained) | Same database |
| Imported files: file name, a SHA-256 fingerprint of the file, counts and date range (so the same file is recognised later) | Same database |
| Undo history for stop edits | Same database |
| Photo links and their capture times | Same database |
| Settings: theme, language, interval, accuracy, export masking, history limit, recording state, time of the last backup and last verified backup | App preferences |
Backup passwords, usage statistics, device identifiers, crash dumps. Recording-health information is read from Android when you open that screen and is not logged.
Exports (GPX, CSV, RoamSpool JSON) and backups are written only when you ask, to the place you choose with Android's file picker. Exports are not encrypted — anyone with the file can read it. Backups are encrypted with a password you choose (PBKDF2-HMAC-SHA256 key derivation, AES-256-GCM); RoamSpool does not keep the password, so a lost password means the backup cannot be opened.
Private places in exports. You can mark places as private; locations and stops inside them are then left out of exported files. This reduces what a shared file shows but does not hide your routine completely — times and the edge of the area can still give it away. Backups always contain everything.
Android cloud backup and device-to-device transfer are switched off for RoamSpool, so your history is not copied into a Google backup. Moving it is deliberate: make a backup file in the app, then restore it on the other phone.
RoamSpool is not directed at children and collects no data from anyone.
Everything stays on your phone until you delete it. In the app you can delete one day or all history (you see how much before anything is deleted), remove single stops, delete places, and set a history limit (off by default) that deletes older history each time the app starts. Deleting inside the app does not touch backup or export files you saved elsewhere. Uninstalling RoamSpool removes its database and preferences.
If this policy changes, the date at the top changes with it and the new text replaces this page. Material changes are also described in the app's release notes.