1 - Welcome

XRUIOS Permissions

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.


WalkerDev Kennaness
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:

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:

  1. Never trust the UI — identity comes from the Manager, not the caller.

  2. Fail closed — if the store is missing, unreadable, or tampered with, the answer is no.

  3. 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.

  4. 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.