
Identity
What identity means for a BSV wallet: the identity key, app-specific keys, Passes, mutual authentication, discovery, key linkage and messages.

A BSV wallet can do more than pay. It can sign people in to apps without passwords and prove facts about them, such as "over 18" or "verified member", without showing everything else. Both need careful design, because identity is where privacy is most easily lost.
The building blocks
Identity key
Every connected wallet has a long-lived public identity key. It can be published and discovered, and it is used to authenticate, route messages and receive Passes. Because it is stable, anything tied to it can be linked together. Treat anything an app attaches to it as public and linkable for good.
App-specific keys
The wallet can also derive a separate key for each app or purpose. The app sees a consistent key for this user, but other apps cannot use it to recognise the same person.
Passes
A Pass is a signed statement from an issuer about the holder, such as "this person is over 18" or "this person is a verified member of Example Club". Technically, a Pass is an identity certificate (BRC-52). The holder can reveal only the fields a request needs. An issuer can revoke a Pass, which makes it invalid for future checks.
Do
Say "Pass" in the interface. Keep "certificate" for developer documentation.
Sign-in
Apps and services can authenticate each other with wallet keys instead of passwords. Both sides prove who they are at the same time (mutual authentication, BRC-103), and the same works over web requests (BRC-104). For users, sign-in becomes "Continue with your wallet" plus an approval prompt.

Designing sign-in and Pass requests
Signing in covers the design: signing somebody in with a key derived for your app, recognising them when they come back, signing out, and asking for one fact from a Pass.
Discovery
Discovery lets somebody find a person's identity key from something they already know, such as a handle or a verified attribute. That is useful for a directory or a contact search, and it is also how a person becomes findable. Wallets treat a discovery request as identity-sensitive, with its own approval.
Do
Use identity discovery only when being found is central to your product, and say so where the user agrees to it.
Key linkage
A wallet can prove to a third party that certain keys belong to the same person, for example to show an auditor that a payment was theirs. It is rarely needed and, depending on its scope, can reveal a whole relationship. See Wallet privacy for what it exposes, and Permissions and allowances for keeping it off by default.
Messages between people
Wallet keys also secure messages. A message box (store-and-forward messaging) holds messages encrypted to the recipient's identity key until they collect them. This is also how payments reach someone who is offline.
Do
Show a wallet message beside the contact or payment it belongs to, not in a separate technical inbox.

Related
- Signing in: the design of sign-in and Pass requests
- Connecting a wallet
- Permissions and allowances
- Payments
- Wallet privacy
Written from: BRC-100, BRC-52, BRC-103, BRC-104, BRC-151 §3 and §7, ts-stack identity architecture.
Checklist
The rules on this page, in a form you can work through.
3 rules
