Your data on a provider
What "your account stores it" means in practice. Where your Sifa records actually live, how to inspect them, and what happens if you delete an app.
When this site says "your data lives on your provider, not in Sifa ID's database", it is a literal description of how the system works. This page makes it concrete.
Records: the unit of storage
Everything on the Atmosphere is a record. A post is a record. A follow is a record. A Sifa profile entry (your current job, your education, an endorsement) is a record. Each one is a small JSON object stored on your provider.
Records have three coordinates:
- Your DID: whose account they belong to.
- A collection: what type of record it is (
app.bsky.feed.post,id.sifa.profile.position, etc.). - An rkey: a unique key within the collection (something like
3lc4apsq2nx2k).
Combined, they form an AT URI:
at://did:plc:abc123/id.sifa.profile.position/3lc4apsq2nx2kThat URI is the canonical address of one particular record on the network. Any Atmosphere app can fetch it directly from your provider. No Sifa involved.
Blobs: the other primitive
Records are the unit of structured data. Blobs are the unit of unstructured data: images, files, and anything else that does not fit in a JSON object. Upload a profile photo, attach an image, or set a Standard.site icon. The bytes then go to your provider as a blob. The record that names those bytes holds only a content-addressed pointer.
Two things follow from that:
- The hash of the content identifies a blob. The same image twice produces the same identifier. A new record can point at an existing blob, and you upload nothing again.
- Blobs live on your provider alongside your records. When you move providers, both move together. When you delete a record that referenced a blob, the blob is eventually garbage-collected (different providers do this on different schedules).
Most Sifa records do not have blobs. Profile photos are the obvious exception. The Standard.site cards page shows a working example that fetches a blob from your account and reuses it.
Where Sifa's records live in your account
When you fill in your Sifa profile, you create records in the id.sifa.* collections:
| Collection | What it stores |
|---|---|
id.sifa.profile.self | The main profile entry (name, headline, bio) |
id.sifa.profile.position | Each job you held |
id.sifa.profile.education | Each school |
id.sifa.profile.skill | Each skill |
id.sifa.profile.certification | Each certification |
id.sifa.profile.project | Each project |
id.sifa.profile.volunteering | Each volunteering role |
id.sifa.profile.publication | Each publication |
id.sifa.profile.course | Each course |
id.sifa.profile.honor | Each honor or award |
id.sifa.profile.language | Each language |
id.sifa.profile.externalAccount | Each external account (blog, GitHub, etc.) |
id.sifa.endorsement | Each endorsement given or received |
One record per item. One job equals one record. Edit the job on Sifa and the record on your provider updates. Delete the job and the record disappears.
Inspecting your own records
You can look at your records directly, and you can skip Sifa entirely. Two ways:
Browser: pdsls.dev is a public viewer for any Atmosphere account. Enter your username, browse collections, see the raw JSON.
Command line: call your provider's HTTP API. To list all Sifa positions on your account:
curl -s "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=<your-username>&collection=id.sifa.profile.position" | jq .(Swap bsky.social for your provider's hostname if you are not on Bluesky.)
The JSON you see is exactly what Sifa reads. No secret fields, no parallel copy.
What happens if Sifa shuts down
Your records do not go anywhere. They live on your provider.
If Sifa shuts down tomorrow:
- Your
id.sifa.profile.*records stay readable on your provider. - The
sifa.idAppView (the index + web app) goes dark, so docs.sifa.id and profile pages stop loading. - Any other Atmosphere app that wants to read the same records can. The data is open.
- Your career history is not held hostage by us.
What happens if you delete Sifa
If you decide to leave Sifa but stay on the Atmosphere, delete your id.sifa.* records from your provider. Two ways:
- From Sifa: go to Settings -> Account. Then scroll to Danger Zone. Reset Profile clears your Sifa profile data and opens the import page, so you can start again. The Delete Account control clears the profile data and your Sifa settings, then signs you out. Both offer to remove the matching
id.sifa.*records from your data server. Sifa then walks every collection and deletes each record. - From outside Sifa: any tool that talks to AT Protocol's
com.atproto.repo.deleteRecordendpoint can delete records directly. pdsls.dev does it in the browser. ThegoatCLI does it from the terminal.
Either way, Sifa's AppView sees the deletions on the firehose within seconds and removes them from its index. Your profile page becomes empty (or 404, if you also delete id.sifa.profile.self).
Sifa leaves every other collection alone: your Bluesky posts, your Tangled repos, and the rest. Sifa owns only the id.sifa.* namespace.
What happens if you move providers
Your records come with you. The migration process exports every record from your old provider, including every id.sifa.* record, and writes them to the new provider. Your DID stays the same. Only the provider hostname inside the AT URIs changes. The AppView still reads them by your DID, and the profile still works.
See Move your account to another provider for the step-by-step.
Want to go deeper
- Lexicons and integrations: the schemas that define what each record type must contain.
- Apps, AppViews, and the firehose: how Sifa reads these records and renders them.
- DIDs, usernames, and providers: the parts of your identity.
Apps, AppViews, and the firehose
How the same data gets read by multiple Atmosphere apps. Why Sifa shows you a different view of your activity than Bluesky does.
Lexicons and integrations
The open schemas that define what each record type contains, and the apps that already read or write Sifa's lexicons.