This is a privacy policy for the Comma Connect (Unofficial) mobile app.
# Privacy Policy
Last updated: 2026-08-20
Comma Connect (Unofficial) is an independent client for comma.ai’s connect
service. It is not made, endorsed, or supported by comma.ai.
The short version: this app collects nothing about you, keeps no account or
record of you anywhere, and adds no tracking. Everything it shows you comes from
your own comma account, fetched with your own credentials, and it travels
between your phone, comma.ai, and your comma device. The one exception is a
small public file, the same for every user, that tells the app which map server
to use; it is described below.
## What the developer collects
Nothing.
There is no analytics SDK, no crash reporting, no advertising and no telemetry
in this app. The developer operates no service that receives anything from it.
The single developer-hosted thing the app ever reads is one small public file
naming which map server to use, described under Map tiles below; it is a
download, it sends nothing, and it is the same file for every user. No account
is created with the developer, and there is nothing for the developer to retain,
sell, or disclose. Every third-party component the app is built from is listed
in full under Settings → About → Open source licenses.
## What stays on your device
– **Your comma session token.** Signing in produces a token issued by comma.ai.
It is written to your operating system’s secure store — the Keychain on iOS,
EncryptedSharedPreferences on Android — and used only to authenticate your
requests to comma.ai. It never leaves the device for any other destination.
– **Your app settings.** Theme, language, distance units, mute state, and the
wallpaper-color preference are saved in ordinary app storage. They are never
transmitted.
– **Saved snapshots.** If you tap save on a camera snapshot from your device,
the image is written to your photo library. This happens only when you ask
for it.
Signing out deletes the session token. Uninstalling the app removes all of the
above.
## What the app sends, and to whom
The app makes network requests only to carry out something you asked it to do.
### comma.ai
Signing in, listing your devices, loading drives, playing back recorded video,
showing routes on a map, reading device logs, checking your comma prime
subscription, and pairing a new device are all requests to comma.ai’s public API
— the same API the official comma connect web app uses. Your account data lives
with comma.ai, under comma.ai’s own terms and privacy policy, not this app’s:
[comma.ai/terms](https://comma.ai/terms)
Data handled this way includes your account email, your paired devices, your
drive history, GPS coordinates, dashcam video, device logs, and subscription and
billing status. The app displays this data; it does not copy it anywhere else.
Nothing is cached for offline use.
### Your sign-in provider
Signing in with Google, Apple, or GitHub opens that provider’s real sign-in page
in an in-app browser window. Your password is entered on the provider’s site and
is never visible to this app. The provider returns an authorization code, which
comma.ai exchanges for your session token.
### Map tiles
The map is drawn from map tiles fetched as you pan and zoom. Builds distributed
without a configured tile provider use OpenStreetMap’s public tile servers. That
server sees your IP address and which tiles you requested, which approximates
the area you are looking at. It does not see your comma account or your drives.
If the tile server stops answering, or once a month at most, the app downloads a
small configuration file naming which tile server to use. This is what lets a
blocked or discontinued map source be replaced without waiting for an app
update. It is a plain download of one fixed file, the same for every user: it
carries no identifier, nothing about your account, and nothing about where you
were looking. In official builds that file is hosted at jackstromberg.com, which
therefore sees your IP address, as any web server does, and nothing else. Builds
not given a location for this file never make the request at all.
### Live streaming
Watching your device’s live stream opens a direct WebRTC connection between your
phone and your comma device. Because both are usually behind carrier NAT, the
video is typically relayed through a TURN server issued to you by comma.ai. If
comma.ai’s server list is unreachable, the app falls back to a public Google
STUN server (stun.l.google.com), which would see your IP address and nothing
else.
### Nowhere else
Apart from the destinations named above, there are none. Opening the comma
connect website, comma’s account admin, or sharing a drive link hands a URL to
your browser or to the app you pick from the share sheet, and what happens next
is governed by that app’s own policy.
## Permissions
– **Camera** — used only to scan the pairing QR code shown on your comma device.
Frames are processed on your phone and are never stored or transmitted. Only
the pairing token decoded from the QR code is sent, to comma.ai, to pair the
device to your account.
– **Photos** — used only to save a snapshot you chose to save.
– **Internet** — used for the requests described above.
Android also grants the app four further permissions that you are never asked to
approve. They are classed as normal, meaning they carry no prompt and cannot be
declined individually, and every one of them comes from a library this app is
built on rather than from its own code. They can show up in a permission list on
the store or in your device settings, so they are named here rather than left to
be discovered:
– **View network connections** — used by the video player to notice when a
connection drops or changes, so playback retries instead of stalling. It
reports whether you are online and over what sort of connection. It cannot see
what travels over it.
– **Prevent device from sleeping** — declared by that same video player library.
Nothing in this app ever asks to hold your screen or processor awake, so it is
never actually taken.
– **Bluetooth**, on Android 11 and older only, and **change your audio
settings** — both come from the audio-routing component inside the video-call
library used for the live camera stream. That stream carries picture and no
sound. This app never opens a microphone and never changes how your audio is
routed, so neither permission does anything here.
The last two are left in place rather than stripped out, deliberately. Removing
a permission that a dependency declares for its own use is a dependable way to
break that dependency later, on someone else’s phone, in a way that testing here
would not catch. None of the four give the app access to your files, your
location, your microphone, your messages, or anything beyond what is described
above.
The app does not request access to your location. Location shown on the map is
your comma device’s, reported by the device to comma.ai and read back from your
account.
## Your choices
– Sign out at any time from Settings → Sign out. This deletes the stored session
token from your device.
– Uninstall the app to remove everything it keeps locally.
– To correct or delete the underlying account data — your drives, your device
records, your account itself — use comma’s own tools at
[useradmin.comma.ai](https://useradmin.comma.ai), or contact comma.ai. That
data belongs to your comma account and this app cannot delete it on comma’s
behalf.
## Children
This app is not directed to children under 13 and does not knowingly collect
information from them.
## Changes to this policy
Any change is published in this file, with a new date at the top, and ships in
the next release of the app. Material changes will be noted in the release
notes.
## Contact
Questions about this policy: jackstromberg.com/contact
For questions about the data in your comma account, contact comma.ai.