1 - Welcome
A per-device, fail-closed permission system for XRUIOS — apps ask, the store answers, and nothing is trusted just because it says so.
XRUIOS Permissions is the access-control layer that sits under the XRUIOS orchestration surface. Any app running on a device can request an action ("read the camera", "edit camera footage", "change a theme"), and this library decides — from an encrypted-at-rest store — whether that app is actually allowed.
It uses Pariah Cybersecurity for its SecureData type and encrypted storage, so keys, requester IDs and permission values never sit in plaintext in RAM longer than they have to.
| Code by WalkerDev “Loving coding is the same as hating yourself” Discord |
Art by Kennaness “When will I get my isekai?” Bluesky • ArtStation |
How it works
At a high level, three things exist:
- A permission store — one encrypted file per permission class (usually one per app), created once via 1 - Setting Up A Permission Store.
- Grants — an app (its requester ID) is given a permission (a name like
"Edit Camera Footage") at an integer level. See 2 - Granting, Checking and Revoking. - Checks — before an action runs, the code asks "does this requester have this permission at (at least) this level?" — ideally without writing that check by hand in every function, which is what 3 - Auto-Gating Functions (The Attribute) is for.
Behind the scenes it caches results, rate-limits abusive callers, and serializes writes so two changes can't clobber each other — all covered in 1 - How Caching and Rate Limiting Work.
Philosophy
XRUIOS Permissions follows four rules:
-
Never trust the UI — identity comes from the Manager, not the caller.
-
Fail closed — if the store is missing, unreadable, or tampered with, the answer is no.
-
A denial should never hide a problem — a "no" caused by a bad key or a corrupted store is surfaced, not silently swallowed. See 2 - Security Model and Threat Notes.
-
Gate everything, cheaply — checking a permission should be one attribute, not twenty lines.
“An OS that trusts what the window tells it isn't an OS, it's a suggestion box.”
Dependencies
- Pariah Cybersecurity (and its dependencies) — provides
SecureData,SecureCache, and the encrypted JSON store (JSONDataHandler). XRUIOS.Manager— issues requester IDs and per-app encryption keys, and is the intended place the auto-gating attribute is consumed.
The trust model, stated plainly
This library decides which requester's permissions to read and enforces that a caller holds the correct per-app key. It does not, on its own, prove that a running process is the app it claims to be — that attestation is the Manager's job, and it's why requester IDs and keys are Manager-issued rather than UI-supplied.
Read 2 - Security Model and Threat Notes before you wire this into anything that guards a real device resource (camera, mic, screen capture).
License & Artwork
Code: NON-AI MPL 2.0
Artwork: — NO AI training. NO reproduction. NO exceptions.

Unauthorized use of the artwork — including but not limited to copying, distribution, modification, or inclusion in any machine-learning training dataset — is strictly prohibited and will be prosecuted to the fullest extent of the law.

