Resources
A resource is an identifier for one specific thing. A mandate with resources applies to those things only. A mandate with none is bound to nothing beyond its scopes.
Resource rules:
- Each resource must be a well-formed identifier of a known family. Anything else is refused.
- A resource identifier takes no parameters. A
?in a resource is refused. - A scope name is never a resource.
sr:us:pint:spend:visa_checkoutin the resources is refused. - A condition is never a resource. Conditions have their own place in the mandate.
- Resources are signed exactly as written: the same order, nothing removed or merged.
Audience
Every mandate is addressed to one party. A mandate addressed to one party is not valid for another.
A hostname must be exactly that: lowercase letters, digits, hyphens and dots, with no scheme, port, path or
@. https://reservations.example.com/ and Reservations.example.com are refused, not tidied up, because two spellings of one site could be read as two different sites.
Naming a website grants it nothing on its own. A mandate addressed to a website by hostname may carry only these scopes:
sr:us:pint:sigil:kyc_statussr:us:pint:sigil:proof_of_personhoodsr:us:pint:sigil:age_over_18
Conditions
A condition is a fact that must hold before a purchase can go ahead without asking you again. Conditions apply to purchases only. Every condition on a mandate must hold: they combine with AND. There is no OR, and no nesting.op on price_target is one of:
Amounts in conditions are written as plain decimals with no trailing zeros, such as
value=180 or value=179.5.
Every condition appears in plain words on the page where you approve the mandate. A condition that can’t be described in plain words can’t be signed.
Example
Next
Limits and narrowing
Ceilings, units and expiry.
Examples
Resources and conditions in a full mandate.