Technology

Tags and validity

A capability's validity is protected by a tag that ordinary memory writes cannot forge.

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

Why it matters

Tags distinguish a genuine capability derived through authorised operations from bytes that merely resemble one.

In brief

A capability’s validity is protected by a tag that ordinary memory writes cannot forge. If software overwrites capability bits as data or derives an invalid value, the tag is cleared and the value cannot authorise memory access.

A tag says that the architecture recognises the value as a valid capability; it does not say the access is appropriate. Bounds, permissions, sealing state and system policy are checked separately. This distinction is useful when diagnosing why an access failed.

Key considerations

1. Create

Valid capabilities originate from existing authority through architecture-defined operations.

2. Preserve

Capability-aware registers, memory and data paths carry the tag alongside the encoded value.

3. Invalidate

Unauthorised manipulation or ordinary byte-wise construction clears validity and later use faults.

Evidence and caveats

The complete system must preserve tags through caches, memory, context switches and relevant interconnect paths. A capable core alone is insufficient.

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

Primary routes

Where next

Map every hardware and software path that stores or moves capabilities and verify how tag integrity is maintained.

Review system-level tag handling