Demo of capabilities securing access to a dataspace in novy-syndicate
Here’s a screencast of checking out, building, and running one of the
novy-syndicate
demos,
namely simple-chat.ts
.
-
After the project is checked out and built, a generic dataspace server is started.
-
Then, two clients are connected, using unattenuated capabilities to the server’s dataspace to enact a “chat” protocol via the dataspace. (Source code for the clients: here)
-
Then, the “root” capability to the server is attenuated, limiting access only to a user calling themself
tonyg
. One of the clients reconnects with the attenuated capability. Its messages are not transmitted unless it uses the nicktonyg
. -
Because the attenuated capability didn’t allow
Observe
assertions at all, the attenuated client can only send presence and messages! -
So the attenuation is redone to allow observation of others’ presence and utterances, and the client is again reconnected.
Just click play on the embedded recording below, or visit the recording’s page on asciinema.org.
Alternatively, you can follow along with the instructions in the README on your own machine.