Technology

Permissions

Permissions specify which operations a capability authorises, such as loading data, storing data or executing code.

For
Developers, architects and assurance professionals
Last reviewed
2026-08-05
Review cycle
Review every 6 months

Why it matters

Permissions support least authority by allowing software to share access without granting every possible use of the memory.

In brief

Permissions specify which operations a capability authorises, such as loading data, storing data or executing code. The processor checks the requested operation against those permissions as well as validity and bounds.

Key considerations

1. Separate operations

Use read-only, write-only where available, or execute authority according to the interface rather than convenience.

2. Reduce

Derived capabilities may have permissions removed but cannot legitimately regain them.

3. Review

Treat permission grants as part of API and compartment design, with tests for denied operations.

Evidence and caveats

Permission bits do not understand application meaning. Write access to the wrong object can still be harmful even if technically authorised.

Use the exact architecture and software specification implemented by the target. Separate architectural guarantees from system-level outcomes.

Primary routes

Where next

List the operations required by one interface and test it with the narrowest capability permissions that support them.

Apply permissions at a boundary