Your data and your keys
We publish your data, but we don't own it. You can take a complete copy at any time, and the key you saved at onboarding means you keep control your account.
Look up your account ID and keys
Behind your handle sits a permanent account ID, called a DID: the technical commands further down this page use it. The lookup also shows the keys currently controlling your account's identity, in order of authority. Everything here is public information.
Account ID (DID):
Keys controlling this account, highest authority first. These are the public halves: they're safe to show, and anyone can already see them. The secret halves are not here: yours never left your machine.
The top public key is yours, from onboarding. A second key is our recovery spare. If only one key is listed, you are already sole controller.
The technical commands further down this page have been filled in with
your details; only your secret key (marked
<your-secret>) is left for you to supply.
Download a complete copy of your data
You get a single file containing every sensor reading your account has ever
published, in a standard, widely supported archive format (.car).
Enter your account handle (it probably looks like yourname.sensorthings.dev):
Do this regularly and keep the file yourself. A recent copy, together with your key, is what lets you move to another provider if you want.
Technical detail: scripted export
goat is a free command-line tool for
working with ATProto accounts, maintained by Bluesky; see its
documentation and
installation instructions. The curl alternative below
needs no extra software. Run the lookup at the top of this page and
<your-did> is filled in here automatically.
# With the goat atproto CLI: goat repo export <your-did> # Or directly (public endpoint, no auth): curl "https://pds.sensorthings.dev/xrpc/com.atproto.sync.getRepo?did=<your-did>" \ -o mydata.car
Technical detail: turn your download into tables
The download is a single archive of everything you've
published. A small, free Python tool, atproto-sensorthings, unpacks
it into plain tables – one row per station, per sensor, and per
reading – as CSV that opens in any spreadsheet, or as map layers
for GIS software. It needs
Python;
the package page has the
full details.
uv tool install atproto-sensorthings # or: pip install atproto-sensorthings atproto-sensorthings flatten mydata.car # spreadsheet tables (CSV) atproto-sensorthings flatten mydata.car --format geojson # map layers (adds the [geo] extra)
The key you saved at onboarding
When you joined, your browser created a key that only you hold; we never saw it. That key is the master control of your account's identity: as long as you have it, we cannot take the account from you, and you can move it away from us without asking. It isn't needed day to day – keep it stored safely.
Lost it? Get in touch. We keep a lower-ranked spare key for exactly this: once we're satisfied it's really you, we can set you up with a new one. (While your key is lost you're trusting us to do that, which is why we suggest the backup below.)
Technical detail: become sole controller
If you'd rather not rely on us for recovery at all,
remove our spare key with your own; we cannot reverse this. Consider
enrolling a second key of your own as a backup first
(--add-rotation-key). Run the lookup at the top of this
page and <your-did> and <our-key>
(our spare, the second key listed) are filled in here automatically.
Using the
goat CLI
(introduced above):
goat plc update <your-did> --remove-rotation-key <our-key> > op.json goat plc sign op.json --plc-signing-key <your-secret> > op.signed.json goat plc submit --did <your-did> op.signed.json
Leaving
You can move your data and your account identity to your own server, or another provider, at any time. It does not need our permission or our cooperation: everything required is already yours: a recent data download (above) and your key. Consumers of your data follow the account, so references to your data keep working after a move.
However, we're happy to help: tell us and we'll walk through it with you.
Technical detail: what a move involves
Stand up your own ATProto PDS (or an account with
another provider), import your .car file, and sign an
identity update with your key pointing your account at the new server.
We'll provide a detailed runbook when you need it.