private content is one of the top asks of atproto, we have some ideas. leading designs involve each user having multiple private repos. they differ from your public repo as they are access-controlled and not signed/redistributable. but they are still key->value, addressable, and of course they sync!
Comments
You could add OAuth details inside your PDS. This would give anyone the info to generate tokens to view your private content.
ie) Your PDS is still public, it includes public + links to private posts.
https://3s-docs.org/hosting-provider-oauth
i hope that even with "authority by host" you could still move pds and services would know to go to your new host?
- private data is local first and synced to private.db
- friend groups write data to shared.db (to, from) with read-only access to everyone in from list
- public.db is for everyone
- ui handle data from all databases
So PDS uses keys it holds for you to sign on your behalf.
Where to put the keys for signing if introducing UCAN could more easily be in several places, including on your phone.
There's also work coming out of Agoric/MetaMask on EndoJS, building some capabilities-mechanisms on top of SES. @kumavis.me
https://research.google/pubs/zanzibar-googles-consistent-global-authorization-system/
https://authzed.com/spicedb