GitHub ↗
Verified v1
PF
Semantic authorization for GenLayer

Turn policy language into exact, reusable authorization.

PolicyFuse is a non-custodial Intelligent Contract that binds an immutable policy, an exact action, a consumer, and validator-agreed rule states into one deterministic consequence: ALLOW, DENY, or REPAIR_REQUIRED.

Release-frozen & verified
Contract0xF5066aE61456b1ADEC4871Da1650F64F1aE5C43F
Studio DevChain 61997
Direct Mode36 / 36 passed
Runtime committee5 validators
Finalized sequence8 transactions

Verification at a glance

The technical proof is visible before a developer reads a line of integration code.

Open verification →
✓
PASS

36/36

Direct Mode regression tests

Ⅴ
FINAL

5

Validators in supported runtime

↳
FINALIZED

8

Deployment + verification transactions

0
LOCKED

0

Additional authorized verification writes

Your developer path

Learn the primitive like a small protocol, not a black-box contract.

Three outcomes. One exact derivation.

The model classifies rules. Contract code derives the consequence.

AUTHORIZATION
A

ALLOW

Every consequential rule is PASS.

  • Authorization is created.
  • Bound to consumer + action digest.
  • Still requires currentness checks.
NO AUTH
D

DENY

At least one rule is FAIL.

  • Failure code: RULE_FAILED.
  • No authorization is created.
  • History remains queryable.
NO AUTH
R

REPAIR_REQUIRED

No failures, but at least one rule is UNKNOWN.

  • Failure code: RULE_UNKNOWN.
  • Clarification can be revised.
  • Action core cannot be substituted.

Preferred integration check

Never trust historical authorization existence by itself.

Full quick start →
downstream-check.ts
const current = await client.readContract({
  address: POLICYFUSE,
  functionName: 'is_authorization_current_for',
  args: [authorizationId, consumer, actionCoreDigest],
  transactionHashVariant: TransactionHashVariant.LATEST_FINAL,
});

if (!current) throw new Error('Authorization is not current');
Why this read matters

Currentness is recomputed from durable state.

Policy supersession, revocation, intent state, validity time, exact consumer, exact action digest, rule-vector binding, and stored identity checks all participate in the currentness boundary.

Read the security model →