{
  "lexicon": 1,
  "id": "net.bisks.velvetrope.policy",
  "defs": {
    "main": {
      "type": "record",
      "description": "A list owner's standing policy for one of their moderation lists — currently just whether removal requests auto-approve without manual review (additions always require manual review). Written to the owner's own repo via createRecord every time the toggle changes, so multiple policy records can accumulate for the same list over time; velvetrope's own API determines which one is current rather than the record key. Written and read by velvetrope (https://velvetrope.bisks.net).",
      "key": "tid",
      "record": {
        "type": "object",
        "required": ["list", "autoApproveRemove", "createdAt"],
        "properties": {
          "list": {
            "type": "string",
            "format": "at-uri",
            "description": "AT-URI of the app.bsky.graph.list record (moderation list) this policy applies to."
          },
          "autoApproveRemove": {
            "type": "boolean",
            "description": "If true, pending removal requests against this list clear automatically (recorded as an 'approve' net.bisks.velvetrope.decision) the next time the owner is signed in anywhere on velvetrope, with no manual review. Addition requests are never auto-approved."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "When this policy record was written, as an ISO 8601 datetime."
          }
        }
      }
    }
  }
}
