dev.roe.invite

danielroe.dev

Documentation

An invitation link that grants access to a private GitHub repository. Both the URL slug and the repo name are sensitive (knowing the slug equals being granted access), so the entire payload is encrypted server-side before being written to the PDS.

main record

An invitation link that grants access to a private GitHub repository. Both the URL slug and the repo name are sensitive (knowing the slug equals being granted access), so the entire payload is encrypted server-side before being written to the PDS.

Record Key tid Timestamp-based ID

Properties

createdAt string datetime Required

An RFC 3339 formatted timestamp.

encrypted string Required

AES-256-GCM envelope holding `{ slug, repo }` as JSON. Opaque to anyone without the server key.

maxLength: 8192 bytes
isActive boolean Required

Whether this invite is currently honoured. Inactive invites stay around for audit but don't get wired up in the route table.

View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "encrypted",
      "isActive",
      "createdAt"
    ],
    "properties": {
      "isActive": {
        "type": "boolean",
        "description": "Whether this invite is currently honoured. Inactive invites stay around for audit but don't get wired up in the route table."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime"
      },
      "encrypted": {
        "type": "string",
        "maxLength": 8192,
        "description": "AES-256-GCM envelope holding `{ slug, repo }` as JSON. Opaque to anyone without the server key."
      }
    }
  },
  "description": "An invitation link that grants access to a private GitHub repository. Both the URL slug and the repo name are sensitive (knowing the slug equals being granted access), so the entire payload is encrypted server-side before being written to the PDS."
}

Lexicon Garden

@