A member is barred from a server. Authority-written (ADR 0006). Enforcement is layered (ADR 0008): the mint refuses new credentials immediately and the realtime tier cuts the socket at once, but credentials already held live out their 2h TTL — the protocol has no revocation (Law 2). A ban is therefore effective within the TTL everywhere, and instantly where we serve.
tid
Timestamp-based ID
Properties
createdAt
string
datetime
Required
An RFC 3339 formatted timestamp.
expiresAt
string
datetime
Optional
When the ban lapses. Absent means indefinite.
reason
string
Optional
Moderator-facing note. Service-observed, never cryptographic evidence — commits are deniable (Law 5, ADR 0009).
maxLength: 2048 bytessubject
string
did
Required
A decentralized identifier (DID).
View raw schema
{
"description": "A member is barred from a server. Authority-written (ADR 0006). Enforcement is layered (ADR 0008): the mint refuses new credentials immediately and the realtime tier cuts the socket at once, but credentials already held live out their 2h TTL — the protocol has no revocation (Law 2). A ban is therefore effective within the TTL everywhere, and instantly where we serve.",
"key": "tid",
"record": {
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"expiresAt": {
"description": "When the ban lapses. Absent means indefinite.",
"format": "datetime",
"type": "string"
},
"reason": {
"description": "Moderator-facing note. Service-observed, never cryptographic evidence — commits are deniable (Law 5, ADR 0009).",
"maxLength": 2048,
"type": "string"
},
"subject": {
"format": "did",
"type": "string"
}
},
"required": [
"subject",
"createdAt"
],
"type": "object"
},
"type": "record"
}