Introduction
Stratos lets AT Protocol communities share posts with approved members. People keep their existing identities. A small enrollment record on each user's PDS helps apps find the service; private posts are not published in the public feed.
How It Works
- A user enrolls with a Stratos service via OAuth. The service writes a
zone.stratos.actor.enrollmentrecord to the user's PDS. - The user creates a private post for a boundary. Stratos stores it for users whose PDS does not support spaces. Otherwise, the user's PDS stores it in a protected space, with Stratos managing membership.
- The feed generator collects posts from Stratos and from PDS users whom Stratos lists as members. It verifies PDS updates before saving posts in its encrypted local database.
- A viewer requests a feed with a signed service token. The feed generator checks the viewer's current Stratos membership and returns only posts they are allowed to read.
Repository Packages
| Package | Description |
|---|---|
stratos-core | Domain logic, storage interfaces, schema, validation, MST commit builder |
stratos-service | HTTP/XRPC service, OAuth enrollment, repo CRUD, sync export, adapters |
stratos-client | Discovery, routing, verification, and OAuth scope helpers |
stratos-feedgen-ng | Feed generator with encrypted local storage and membership-checked feeds |
webapp | Svelte demo client for enrollment and private posting |
lexicons | JSON-based lexicon definitions |
The TypeScript feedgen and AppView indexer remain in the repository for rollback or historical reference but are deprecated.
Architecture
For a deeper dive into the technical details of Stratos, see the following documentation:
- Reading Private Records — How apps fetch full private records after an access check.
- Feed Generator — How posts enter the encrypted local database and how access is checked.
- Enrollment Signing — How user keys and boundary attestations are managed.
- Multi-Domain Enrollment — How users can enroll in multiple boundaries across different services.
Next Steps
- Read the Glossary for key terms and concepts.
- Follow the First Post Tutorial to get started as a user.
- Follow the Client Integration Guide to add Stratos to your app.
- See the Operator Guide to deploy a Stratos service.
- Explore the Architecture for deep technical detail.