social.coves.community.removal

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.

Repository @coves.social did:web:coves.social namespace authority
Details · record, key any
Kindrecord
Record keyany
Authoritycommunity.coves.social
Indexed

Record

record · key any

Properties

code

requiredstring

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.

  • maxLength: 64
  • knownValues: rule-violation | spam | off-topic | illegal-content | author-banned | moderator-discretion

createdAt

requiredstring · datetime

Timestamp when the post was removed

reason

string

Human-readable explanation of the removal, shown to the author and in the moderation log

  • maxLength: 10000
  • maxGraphemes: 1000

subject

requiredref

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.

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • An append-only moderation action in a community view. V0 understands removal only.

  • 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 repository this record lives in. 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 a post has exactly one acceptance rkey per community, concurrent writers converge idem

  • at.secretsky.removal

    record not from the namespace authority

    An owner-authored moderation record for a post in their feed.

  • 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.

  • A moderator action on one post's Community-level state. Removal is scoped to the Community; only actions that change state are journaled.