Skip to main content

FAQ

Do I need a server?​

No. The app stores location history locally. Server sync is optional.

What data does the app send?​

Only GPS data to your configured server: coordinates, accuracy, altitude, speed, bearing, battery status and timestamp, plus any custom fields you add yourself. The only other outbound traffic is map tile requests to the tile server set in Settings → Appearance.

Is this compatible with Google Timeline?​

You can import your Google Timeline history into Colota, both the legacy Takeout Records.json and the new on-device export from Android Settings (see Data Import), and browse it in the app under History on the Map and Trips tabs, but Colota has no web interface and never sends anything back to Google, so pair it with one of the supported backends if you want a browser view.

Does this work without Google Play Services?​

Yes. The FOSS variant (available on F-Droid, IzzyOnDroid and GitHub Releases) uses Android's native LocationManager and has no Google Play Services dependency. It works on LineageOS, GrapheneOS, CalyxOS and any ROM without Google services.

On Android 12+ the FOSS variant requests the platform's built-in fused location provider (an AOSP API, not Google Play Services), which adds Wi-Fi and cell tower fusion on ROMs that provide a network location backend. Without such a backend, or on Android 11 and older, it transparently uses raw GPS.

The Google Play variant uses FusedLocationProvider from Google Play Services for the same Wi-Fi and cell tower fusion on any Android version.

GrapheneOS users: You can use the GMS variant with sandboxed Google Play. GrapheneOS reroutes location requests to its own reimplementation of the Play geolocation service, so you get the accuracy benefits of FusedLocationProvider without sending location data to Google.

Which variant should I use - FOSS or Google Play?​

The Google Play variant is generally the better choice for most users. FusedLocationProvider combines GPS, Wi-Fi, cell towers and motion sensors to deliver faster fixes and better battery efficiency, especially indoors and in dense urban areas.

The FOSS variant uses the platform's fused location provider on Android 12+, which delivers comparable accuracy on stock ROMs. On de-Googled ROMs without a network location backend and on Android 11 or older it falls back to raw GPS - reliable outdoors, but cold-start fixes can be slower and indoor accuracy is weaker without Wi-Fi and cell tower fusion.

If avoiding (sandboxed) Play Services is a priority, the FOSS variant is a perfectly fine option. On GrapheneOS with sandboxed Google Play, the GMS variant gives you the accuracy benefits without sending location data to Google (see above).

Why AGPL-3.0?​

To ensure modifications stay open source, especially server-side components.

How accurate is the tracking?​

3-10 meters in open sky, 10-50 meters in urban areas. The accuracy filter helps remove poor fixes.

Can I use maps without internet?​

Yes. Go to Settings → Offline maps to download map areas to your device. Pan and zoom the map to frame the area you want, give it a name, and tap Download area. Downloaded tiles persist across app restarts and work without any network connection. See Offline maps for details.

Can I export my location history?​

Yes. Go to Settings → Export & import to export in CSV, GeoJSON, GPX or KML, or export a single day's trips from the History tab. Its Automatic export row writes the same formats to a folder you pick on a daily, weekly or monthly schedule. See Data Export for details.

Can I import location history from another app?​

Yes. Go to Settings → Import locations and pick a file. Colota reads GeoJSON, Google Timeline (both the legacy Takeout export and the new on-device one), GPX, KML and CSV, detects the format itself, and shows a preview with the duplicate and invalid counts before anything is written. Imports are additive and duplicates are skipped, so re-importing the same file changes nothing. See Data Import for details.

Can I back up everything and move to a new device?​

Yes. Go to Settings → Backup & restore to create a single password-encrypted .colota file containing your locations, settings, geofences and credentials. Restore it on the new device with the same password. See Backup & restore for details.

I forgot my backup password, can I recover it?​

No. Backups are encrypted with a key derived from your password. There is no recovery code, no email reset and no developer override. If the password is lost the data inside is unrecoverable. Store the password in a password manager before creating the backup.

Will restoring a backup overwrite my current data?​

Yes. Restore is replace-everything: locations, settings, geofences and credentials currently on the device are replaced by what's in the backup. There is no merge mode. If you want to keep the current data, take a backup of it first.

What happens when the phone restarts?​

Colota resumes tracking after a restart if tracking was active before it. There is no setting for this. If it does not resume, see Troubleshooting.

Why does tracking stop when the screen is off?​

Android is suspending the app to save power. Exempt Colota from battery optimization (the app prompts for this during setup), and on Samsung, Xiaomi, Huawei, Oppo, Vivo and OnePlus devices also allow it to run in the background in the manufacturer's own power menu, which is separate from the Android setting. See Battery Optimization and Troubleshooting for the per-manufacturer steps.

How much battery does it use?​

Depends on your settings. With the Balanced preset (30s interval, batch sync), typical usage is moderate. See Battery Optimization for tips.

How do I update the app?​

  • Google Play - updates automatically, or open the Play Store and tap Update
  • F-Droid - open the F-Droid client and update from there, or use Obtainium to track releases automatically
  • IzzyOnDroid - open the IzzyOnDroid client and update from there, or use Obtainium to track releases automatically
  • GitHub Releases - download the latest APK from GitHub Releases and install it - Android will update the existing app in place

Is there an iOS version?​

No, and none is currently planned. The UI is React Native, but the core of the app - background location tracking, the foreground service, geofencing, and sync scheduling - is all native Android Kotlin code that would need to be rewritten from scratch for iOS. Beyond the technical effort, Apple's developer account costs 100 EUR/year, maintaining two platforms would significantly increase the ongoing work, and testing without a real iPhone would be impractical.

If an iOS version were ever built, it would realistically need to be a paid app to offset the cost and effort - which would shift this from a hobby project into something with different expectations. It's not off the table forever, but there are no concrete plans.

What Android versions are supported?​

Colota requires Android 8.0 (API 26) or higher.

Why does Colota ask for "Local network access" permission?​

On Android 17+, apps need the Local Network Access permission to connect to local network addresses. Colota only requests this when your server is on a private/local IP (e.g. 192.168.x.x). It is not used for device scanning or discovery, only to reach your self-hosted server. On some Android 16 devices, this may be enforced early via security patches under the "Nearby devices" permission name.

Does Colota support mutual TLS (mTLS)?​

Yes. Pick a device certificate or import a PKCS12 (.p12 / .pfx) bundle in Settings → Connection → Client certificate. The private key is stored in the OS keystore and the password isn't saved. For self-signed server certificates, import a CA in the same screen so trust is scoped to Colota only - no need to install a CA at the OS level. See the mTLS guide for details.

I was using a CA installed in Android Settings for Colota - does it still work?​

No, not since 1.9.0. Colota only trusts system CAs and an optional CA you import in-app under Connection → Client certificate - user-installed device CAs are deliberately ignored. If sync starts failing with Server certificate is not trusted... after upgrading, you'll need to re-import your CA through the new in-app screen.

The migration is one-time: open Colota → Settings → Connection → Client certificate → Trusted server CA → Import CA. The same .crt / .pem you originally installed in Android Settings works. See Migrating from earlier behavior for the full walkthrough.