AuthBox

Documentation embedded in this build.

Can they?

In short

Ask whether somebody may do something before a door has to decide it, about yourself and, where your deployment allows it, about somebody else. The question pages grant nothing and change nothing; this page explains the grid, the as-if panel, and what an answer withholds.

Every door in this deployment answers the same question when somebody arrives at it: may this person do this, right now? The question pages let you ask it before a door has to — about yourself, and, where your deployment lets you, about somebody else.

They are at can.<your-deployment>, and at /can under your own door's name. Nothing on them grants anything, changes anything, or is recorded as a decision. They are the engine that enforces your deployment answering a question nobody is actually asking it yet.

Why ask before the door does

A refusal at a door is a true answer and a poor explanation. It arrives when somebody is trying to work, it says as little as it safely can, and it tells you nothing about what would have worked instead. These pages are the other side of that: the same engine, the same clauses, the same order, asked deliberately and read at leisure.

Three things make it worth asking:

The three questions, and the grid

Pick what to ask from the list of everything your deployment enforces: what an operation declares, what a front door's route requires, what a mission restricts, what an obligation asks of a population. Or write a requirement yourself — a mission, a group, attribute clauses — in the same grammar a specification uses. Your deployment parses what you write with the parser it loads a specification with, and refuses a clause that would not load, in its own words.

The list carries a customer's own operations too, where your deployment declares one of their documents as an authorization map of its own (dialects): those rows are named by the service they sit on rather than by a door this deployment runs, because it enforces their requirement and serves their address nowhere.

Supposing things: the as if panel

Three things can be supposed, and the answer is about the deployment as you described it:

Every supposition you set is printed on the answer as its own labeled line, above the verdict, exactly as your deployment echoed it back. That is deliberate and it is not decoration: a screenshot of one of these pages must not be readable as a decision, and the labeled line is what stops it being one.

What an answer withholds, and why

An answer tells you only what you could already learn elsewhere on this deployment. That rule is applied by the deployment itself, not by the page — the page has no filter of its own, and renders what it was given.

In practice:

One consequence worth knowing: what you are told also depends on the door you asked through. Every clause has to hold at every hop, so an answer relayed through a service that carries no clearance of its own names nothing above the empty marking. If your question pages explain less than you expect, that is usually the answer.

Asking about somebody else is delegated, and audited

A question about another person cannot be posed by a bare certificate, whatever it holds. It has to arrive through a non-person entity — which is the rule that only a service may speak for somebody, read back to a question surface — and the person at the head of that chain has to hold the mission your deployment binds for it.

The question page is that service. When you ask about a colleague, the question travels with your name at the head of the chain and the door's at the tail, and your deployment records both, beside the subject you asked about. So:

What these pages do not do