Skip to content
Signatif

Verification

Objective reports, published policies, deliberate decisions

Signatif splits verification into three separable decisions — what the evidence is, how it grades, and whether it is good enough — so no party silently bundles them.

Hard and soft checks

The pipeline applies an ordered sequence of checks. Hard failures short-circuit immediately to the rejected label. Soft results do not fail anything — they accumulate as evidence into the coverage report.

Pipeline — abbreviated

for check in pipeline:
    if check.hard and not check.pass:
        return "rejected"
report = collect(pipeline)
label = classify(report)   # scheme policy
decision = accept(label)   # verifier policy

Hard checks — failure rejects

Format validity
The artifact parses and the canonical payload reconstructs deterministically.
Signature validity
Every signature verifies under its stated algorithm and key.
Chain integrity
Each delegation link is properly signed by its parent authority.
Scope narrowing
The authorization scope narrows — never widens — at every link.
Scope conditions
The predicates attached to the signing scope evaluate true for this artifact.
Revocation status
No authority in the chain, and no bound state, is revoked.

Soft checks — coverage accumulates

Transparency inclusion
The artifact and its certificates are provably in a recognized log.
Time anchor
The time attestation falls within the freshness window.
Cross-domain co-signatures
Independent roots co-signed the same canonical payload.
Multi-log attestation
Inclusion in M of K independent logs, so no operator controls the record.

Path-finding in the trust graph

For each signature on the artifact, the verifier finds one or more paths through the trust graph to root anchors in its trust anchor bundle — validating signature and scope narrowing at every link. All valid paths are collected, and their distinct roots feed cross-domain diversity scoring: an artifact co-signed through two independent roots is stronger evidence than two signatures through one.

The coverage report

The pipeline’s output is a report of objective facts: hard-check status, transparency inclusion, time-anchor status, verified dimension list and count, independent root count, and multi-log quorum status. It is a deterministic function of the artifact and the verifier’s state — two conforming verifiers with the same state produce identical reports, byte for byte.

Report, label, decision

01 · Coverage report

The evidence

Produced by every conforming verifier, deterministically. No policy enters here — only what was checked and what held.

02 · Classification label

The grade

The scheme’s classification policy maps report fields to labels — a pure function, published in the deployment manifest. The standard does not prescribe labels or thresholds; each scheme defines its own.

03 · Acceptance

The decision

The verifier maps labels to accept or reject for a given decision context. This is the verifier’s risk decision — explicit, configurable, and auditable.

Time freshness

A configurable freshness window governs time attestations. Attestations outside the window are rejected; those within a secondary grace period may be accepted at a downgraded label, as the acceptance policy decides. Freshness parameters live in the verifier’s policy, never in the artifact.

Offline equality

Offline verification yields the same classification label as online verification, except where freshness-dependent checks cannot be satisfied — making border inspections, factory floors, and air-gapped archives first-class environments, not degraded ones.

Try the pipeline

A miniature of the real model. Break a hard check and watch the pipeline short-circuit; weaken soft coverage and watch the label downgrade; then change the acceptance policy and watch the same report produce a different decision.

Hard checks — failure rejects

Soft checks — coverage accumulates

Time anchor
Independent roots

Verifier acceptance policy

Coverage report

signature_valid
true
scope_narrowing
monotonic
revocation_status
clear
transparency
included
time_anchor
fresh
independent_roots
2
multi_log_quorum
met
Classification certified

Full dimensional coverage, transparency and multi-root inclusion.

acceptance policy: standard

accept