@onrecord.email you want to send from. A quick check proves you are a person. Signup is on the page only.https://verify.braas.dev/act/<act hash>/verify and see whether it verifies — no key, no account.Sign up on the signup page (it carries the person check; there is no script path). You get a token, shown once:
# → { tenant_id, token, governance_root, engagement_url } (token shown ONCE)
Store the token securely. We persist only sha256(token) and cannot recover it. Lost it? Re-sign-up.
curl -XPOST $GATEWAY/tenant/policy/propose -H "Authorization: Bearer $TOKEN" \
-d '{"key_suffix":"governance.review_threshold","value":{"min_reviewers":2}}'
# returns { proposal: { namespace, key, proposal_hash, gate, change_kind, prev_value } } — writes NOTHING
curl -XPOST $GATEWAY/tenant/policy/apply -H "Authorization: Bearer $TOKEN" \
-d '{"proposal": , "agree": {"proposal_hash":"","decision":"agree"}}'
# → { applied:true, method, seal:{ seq, hash } } (written to YOUR store + sealed in YOUR chain)
The agree must be bound to the exact proposal_hash — an unbound or mismatched agree is refused (deny-by-default).
curl $GATEWAY/tenant/policy/list -H "Authorization: Bearer $TOKEN" # only YOUR rules
curl "$GATEWAY/tenant/policy/list?namespace=tenant.OTHER.governance" -H "Authorization: Bearer $TOKEN"
# → 403 cross_tenant_denied (you can never read another tenant's governance)
curl $GATEWAY/tenant/chain/verify -H "Authorization: Bearer $TOKEN" # { verified:true, total_entries }