Skip to content

Overview

Stratos is a private namespace service for ATProtocol that enables users to store content visible only within specific community domains. Unlike public app.bsky records that are globally visible, Stratos records have domain boundaries that restrict visibility.

Key Concepts

ConceptDescription
Domain BoundaryA service-qualified boundary identifier in {serviceDid}/{name} format. Records are visible only to enrolled users who share that boundary.
EnrollmentThe process of a user registering with a Stratos service via OAuth.
Service DIDThe decentralized identifier for the Stratos service itself.
subscribeRecordsWebSocket subscription that AppViews use to index Stratos content.

Use Cases

  • Community-private feeds — Fandom and community social feeds.
  • Gated communities — Content visible only to verified domain members.
  • Multi-community platforms — Apps with per-community data isolation.

Service Components

ComponentDescription
stratos-serviceXRPC/HTTP service — enrollment, record CRUD, sync export
stratos-indexerStandalone indexer — PDS firehose + actor sync streams → PostgreSQL
AppViewFeed query endpoints — zone.stratos.feed.* with boundary filtering

Request Flow

🧑
User
alice.bsky.social
⚙️
Stratos Service
stratos.example.com
🗄️
PDS
pds.bsky.social
🔄
Indexer
stratos-indexer
🛢️
PostgreSQL
appview database
📡
AppView
zone.stratos.feed.*
💻
Client App
your application

Next Steps