uTrack

Live location sharing the server can’t read.

Every position is encrypted on your device. The server fans out ciphertext it has no key for, and the people you shared with decrypt it in their browser.

What the relay stores for it Zm9vYmFyYmF6cXV4

How it works

  1. Your device encrypts

    Each position is sealed with AES-256-GCM before it leaves your phone. The key is generated on the device and never uploaded.

  2. The server relays

    It holds an opaque blob and enough routing metadata to deliver it. Location points live in memory with a short TTL — they are never written to disk.

  3. The viewer decrypts

    The key rides in the link’s #fragment, which browsers never send to a server. Decryption happens in the tab you opened.

Being specific about it

The relay does see

  • That a share exists, and when it expires
  • How many encrypted points passed through it
  • Which accounts are friends, and sealed keys it cannot open
  • The network address a viewer connects from

The relay does not see

  • Where you are, or where you have been
  • The names or notes on any place you mark
  • Any decryption key, at any point
  • Names you give your friends — those stay on your device

Run it yourself: uTrack is a single Go binary plus a static frontend, and the whole point is that the relay can be yours.