social.coves.community.removal
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "A community's record that a post has been removed from it. Written in the same com.atproto.repo.applyWrites commit that deletes the social.coves.community.acceptance, so the firehose never carries a half-completed moderation action. Removal is URI-scoped and terminal: it applies to the post URI across later author edits, not only to the version it pins. A post rejected at submission time was never accepted and writes no record. Removed is exited only by an explicit moderator restore: an atomic commit deleting the removal record and writing a fresh acceptance. The record key is deterministic: the unpadded lowercase base32 encoding of the SHA-256 digest of the canonical subject AT-URI (fixed 52 characters, always rkey-safe), so each post has exactly one removal rkey per community and re-removal updates the same record.",
"key": "any",
"record": {
"properties": {
"code": {
"description": "Machine-readable reason for the removal. knownValues is an open set: federated peers may send codes this AppView has not seen yet and their records must still validate, so this MUST NOT become an enum.",
"knownValues": [
"rule-violation",
"spam",
"off-topic",
"illegal-content",
"author-banned",
"moderator-discretion"
],
"maxLength": 64,
"type": "string"
},
"createdAt": {
"description": "Timestamp when the post was removed",
"format": "datetime",
"type": "string"
},
"reason": {
"description": "Human-readable explanation of the removal, shown to the author and in the moderation log",
"maxGraphemes": 1000,
"maxLength": 10000,
"type": "string"
},
"subject": {
"description": "Strong reference to the removed post. The pinned CID is audit metadata recording the version present at removal time; the removal itself applies to the post URI.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
}
},
"required": [
"subject",
"code",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "social.coves.community.removal",
"lexicon": 1
}
Metadata
- DID
-
did:web:coves.social - CID
-
bafyreig6waah53no6lq5aqv7wlbj2hxlnhhhpoumtoq7z5qyx4wpai2dbm - Indexed At
- 2026-09-07 20:28 UTC
- AT-URI
-
at://did:web:coves.social/com.atproto.lexicon.schema/social.coves.community.removal
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
A community's attestation that it accepts a post. Written only by the community's key holder, automatically once admission checks pass - machine attestation, not human approval. The community is implicit in the reposito…
-
An owner-authored moderation record for a post in their feed.
-
social.colibri.moderation record
A moderation event scoped to the community that owns this repo. Acts as an append-only audit log; current state is derived from the action history per subject.
-
com.getorbyt.community.moderatePost procedure
A moderator action on one post's Community-level state. Removal is scoped to the Community; only actions that change state are journaled.
-
An audit log entry for a moderation action taken by the community. Enforcement is the space authority declining to issue credentials, and this records that it happened.