Contacts this actor trusts, content-key epochs for E2EE, and optional in-flight pairwise-secret delivery during trust establishment. Trusted DIDs are cleartext for AppView indexing. Mutual trust is derived: A trusts B and B trusts A (each side's trusted array). Feed visibility requires mutual trust on both records. Per-epoch content keys use opaque slots (see #contentKeyWrap).
literal:self
Fixed literal value
Properties
createdAt
string
datetime
Optional
An RFC 3339 formatted timestamp.
keyEpochs
array
of
ref
#keyEpoch
Required
Ordered content-key epochs. Only the latest epoch (no endedAt) is used for new posts and comments. Earlier epochs remain for decrypting historical content.
pendingPairwiseSecrets
array
of
ref
#pendingPairwiseSecret
Optional
Temporary delivery of a pairwise trust secret to a peer during establishment (encrypted to the peer's profile encryptionPublicKey). Removed after the peer has retrieved and acknowledged. Used when the acceptor generates the secret (new-user path) or when the initiator pre-delivers it (existing-user path).
trusted
array
of
ref
#trustedEntry
Required
DIDs this actor trusts. Cleartext for AppView; does not by itself reveal per-post subset audiences. Listing a DID here may occur before they reciprocate (pre-emptive trust).
updatedAt
string
datetime
Optional
An RFC 3339 formatted timestamp.
View raw schema
{
"key": "literal:self",
"type": "record",
"record": {
"type": "object",
"required": [
"trusted",
"keyEpochs"
],
"properties": {
"trusted": {
"type": "array",
"items": {
"ref": "#trustedEntry",
"type": "ref"
},
"description": "DIDs this actor trusts. Cleartext for AppView; does not by itself reveal per-post subset audiences. Listing a DID here may occur before they reciprocate (pre-emptive trust)."
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"keyEpochs": {
"type": "array",
"items": {
"ref": "#keyEpoch",
"type": "ref"
},
"description": "Ordered content-key epochs. Only the latest epoch (no endedAt) is used for new posts and comments. Earlier epochs remain for decrypting historical content."
},
"updatedAt": {
"type": "string",
"format": "datetime"
},
"pendingPairwiseSecrets": {
"type": "array",
"items": {
"ref": "#pendingPairwiseSecret",
"type": "ref"
},
"description": "Temporary delivery of a pairwise trust secret to a peer during establishment (encrypted to the peer's profile encryptionPublicKey). Removed after the peer has retrieved and acknowledged. Used when the acceptor generates the secret (new-user path) or when the initiator pre-delivers it (existing-user path)."
}
}
},
"description": "Contacts this actor trusts, content-key epochs for E2EE, and optional in-flight pairwise-secret delivery during trust establishment. Trusted DIDs are cleartext for AppView indexing. Mutual trust is derived: A trusts B and B trusts A (each side's trusted array). Feed visibility requires mutual trust on both records. Per-epoch content keys use opaque slots (see #contentKeyWrap)."
}