{
"id": "chat.yakka.ban",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"subject",
"createdAt"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 2048,
"description": "Moderator-facing note. Service-observed, never cryptographic evidence — commits are deniable (Law 5, ADR 0009)."
},
"subject": {
"type": "string",
"format": "did"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"expiresAt": {
"type": "string",
"format": "datetime",
"description": "When the ban lapses. Absent means indefinite."
}
}
},
"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."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}