How distributed[C] handles identity

As we had mentioned on Designing for Personas, we want people to feel comfortable creating multiple pseudonymous identities on distributed[C].

How do we manage identity, then?

Every pseudonym is currently an individual identity. When you create a new one, this generates a key pair. You can export these keys by going into your profile (and I advise that you do it right away!). Your private key is stored on your browser data, and you can reimport it on any other instance you want to have access to it. Every post that you create will get signed with this key, so that anyone can verify it later, and is stored on IPFS through OrbitDB.

Yes, we are aware that this has usability issues, including expecting users to import the key if they clear their browser’s local data. Keep in mind that the UI is still very early: we expect that, in the future, we can let you easily authenticate with an external wallet. We are currently focusing on the core system, though, and aiming to not get ahead of ourselves.

Fun aside: if you want to see the raw data, type iddqd anywhere on a distributed[C] page and you will get access to developer mode (identified by a tiny 🧙🏻 besides the post).

This means that your account’s unique identity is the key. It has the side effect that the human-readable pseudonym (eg. d[C] Design) and icon is something anyone can pick - meaning, you could have multiple personas using name Joe Anon.

This is a potential problem that the current early UI does not address. However, since every post gets signed by a key, we plan to explore ways to indicate the “account signature” in a human-readable way right besides the account name - something similar to how Telegram uses emojis to display a call’s security codes.

More on that as we expand on the user interface!

Published: 2021-11-19