{
"id": "space.roomy.authComplete",
"defs": {
"main": {
"type": "permission-set",
"title": "Full Roomy, Bluesky, & Semble Access for Managed Accounts",
"detail": "Full access to the Roomy, Semble, and Bluesky data for spaces that you have permission to manage.",
"permissions": [
{
"aud": "*",
"lxm": [
"space.roomy.authComplete.arbiter.proxy"
],
"type": "permission",
"resource": "rpc"
}
],
"x-town-muni-arbiter": {
"policy": "# Scope policy — a pure boolean gate over the request core, evaluated\n# BEFORE the community policy pipeline. The request proceeds only when this\n# evaluates to boolean `true`; anything else (false, undefined, an error)\n# denies the request.\n#\n# Input (scope policies see the request core only — no caller/arbiter DIDs,\n# no endpoints, and no host functions):\n# input.method \"GET\" | \"POST\" — the inner request's HTTP method\n# input.nsid the inner request's XRPC method NSID\n# input.parameters query parameters object, or null\n# input.body JSON body value, null, or { \"$bytes\": \"<base64>\" }\n# input.encoding the inner request's content-type, or null\n\npackage arbiter\n\ndefault allow := false\n\nallow if startswith(input.nsid, \"space.roomy\")\nallow if startswith(input.nsid, \"network.cosmic\")\n#allow if input.nsid == \"com.atproto.repo.uploadBlob\"\nallow if {\n input.nsid == \"com.atproto.repo.putRecord\"\n input.body.collection == \"app.bsky.actor.profile\"\n}"
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}