{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A voter's public attestation: 'I voted on this ballot sheet.' Written to the voter's own repo. The ledger strongRef pins the exact candidateLedger (URI and CID) the vote was cast against, making post-hoc ledger edits detectable. Scores are never public: privateRef resolves only through the round organizer's private sidecar.",
      "key": "any",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "ledger": {
            "description": "The at.eptss.candidateLedger this ballot was cast against.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "privateRef": {
            "description": "Opaque random identifier joining this ballot to the voter's private scores in the organizer's sidecar. Never derived from content.",
            "maxLength": 64,
            "type": "string"
          }
        },
        "required": [
          "ledger",
          "privateRef",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "at.eptss.ballot",
  "lexicon": 1
}
