Playground
Build a mandate by clicking, then test what an agent may do. Everything runs in your browser – nothing is sent anywhere.Build a mandate by tapping and test it. Everything stays in your browser.
Example: voice assistant
Rules of the mandate “m-voice-assistant”
- allow
Any device: Voice assistant may read.
r-read-all - allow
Lights: Voice assistant may turn on, turn off or set.
r-lights - allow
Heating: Voice assistant may set temperature.
r-climate - ask
Locks: Voice assistant may unlock or open, but only after confirmation by user-1.
r-locks - deny
Cameras: Voice assistant may do nothing.
r-no-cameras - deny
Alarm: Voice assistant may not disarm.
r-no-alarm - deny
Everything else: deny (default)
Choose a mandate
Rules
Everything else: deny (default)
The mandate then carries "enforce": false. Denied actions still run and are recorded as denied, after a confirmation if a matching rule asks; critical actions stay protected.
Order doesn’t matter – the strictest matching rule wins: denyaskallow
Simulate a request
Areas, device ID and marking
Household time zone Europe/Berlin, week of October 12, 2026.
Result
Decisions come from spec-ts, an independent TypeScript implementation that passes the conformance cases of specification v0.1.1.
Overview: what is allowed
- not available
Click a cell to test it. Hover or focus shows the deciding rule. Arrow keys move between cells.Swipe sideways for all actions. Tap a cell to open it in “Test”.
Mandate as JSON
You can edit the JSON directly. Valid changes appear in the rules above.