← All Specifications

TRUST-LD

The functional LD profile for attestation, verification, and trust relationships — extending CORE-LD with trust semantics for representing attestations, verification results, trust anchors, and trust graphs.

L3 — Trust Profile 20 Invariants 498 Lines Draft

TRUST-LD v0.1.0

The functional LD profile for attestation, verification, and trust relationships — extending CORE-LD with trust semantics for representing attestations, verification results, trust anchors, and trust graphs.

Status: Draft Extends: CORE-LD v0.1.0 Constitutional dependencies: URS v0.1.0 → CORE-LD v0.1.0 Spec family: Functional Profile (see CORE-LD §6.1 — Composition Rules) Dimension registry prefix: TRUST-LD Canonical @context: https://specs.initialcore.net/ns/trust-ld.jsonld

1. Preamble

TRUST-LD is the functional profile for attestation, verification, and trust relationships. It defines how trust anchors, attestations, verification results, and trust graphs are expressed as CORE-LD entities with standardised trust semantics.

What TRUST-LD is:

What TRUST-LD is not:

1.1 Composition rule

TRUST-LD = CORE-LD + TrustAnchor + Attestation + VerificationResult + TrustLink + TrustPolicy

Any conforming TRUST-LD implementation MUST also conform to CORE-LD at the same conformance level. An encoded TRUST-LD binding MUST preserve both CORE-LD and TRUST-LD invariants.

1.2 Trust as a functional complement

AspectINPUT-LDMEMORY-LDTRUST-LD
DirectionInbound requestsInternal persistenceInter-entity assurance
QuestionWhat to do?What to remember?What to believe?
LifetimeTransientPersistentPersistent, revocable
MutationRequest/respondConsolidate/forgetAttest/verify/revoke

2. Entity Types

2.1 TrustAnchor

A TrustAnchor represents a root of trust — an entity whose attestations are trusted without further verification.

{
  "@id": "_:ta1",
  "@type": "TrustAnchor",
  "name": "ICore Constitutional Root",
  "anchorType": "constitutional",
  "keyReference": "did:icore:root#key-1",
  "trustLevel": "absolute",
  "revoked": false
}

Registered anchor types:

TypeMeaning
`constitutional`Root defined by the constitution itself
`organizational`Root defined by an organization
`personal`Root defined by an individual
`technical`Root defined by technical mechanism (e.g., HSM)

Registered trust levels:

LevelMeaning
`absolute`Unconditional within its domain
`high`Strong but conditional
`medium`Limited to declared scope
`low`Minimal, highest scrutiny
PropertyTypeRequiredDescription
`anchorType`StringYesType of trust anchor
`keyReference`IRIYesReference to the cryptographic key material
`trustLevel`StringYesDegree of trust
`revoked`BooleanNoWhether this anchor has been revoked (default false)

2.2 Attestation

An Attestation is a signed claim by one entity about another entity, property, or fact.

{
  "@id": "_:att1",
  "@type": "Attestation",
  "attestor": "did:icore:root",
  "subject": "_:entity1",
  "claims": [
    { "predicate": "authorityType", "value": "inherent" }
  ],
  "validFrom": "2026-07-30T00:00:00Z",
  "validUntil": "2027-07-30T00:00:00Z",
  "proof": {
    "type": "Ed25519Signature2020",
    "created": "2026-07-30T00:00:01Z",
    "verificationMethod": "did:icore:root#key-1",
    "proofValue": "z..."
  }
}
PropertyTypeRequiredDescription
`attestor`IRIYesDID or IRI of the attesting entity
`subject`Entity refYesEntity or fact being attested
`claims`Array of ClaimYesThe asserted claims (at least one)
`validFrom`ISO 8601NoStart of validity window
`validUntil`ISO 8601NoEnd of validity window
`proof`Proof objectNoCryptographic proof (required for constitutional attestations)

Claim structure:

{ "predicate": "...", "value": "...", "confidence": 1.0 }

2.3 VerificationResult

A VerificationResult records the outcome of checking an attestation or trust claim.

{
  "@id": "_:vr1",
  "@type": "VerificationResult",
  "target": "_:att1",
  "verifier": "did:icore:verifier",
  "status": "verified",
  "timestamp": "2026-07-30T00:00:05Z",
  "checks": [
    { "name": "signature", "passed": true },
    { "name": "expiry", "passed": true },
    { "name": "anchor-chain", "passed": true }
  ],
  "notes": "All checks passed"
}

Registered statuses:

StatusMeaning
`verified`All checks passed
`unverified`No verification attempted
`pending`Verification in progress
`failed`One or more checks failed
`expired`Outside validity window
`revoked`Attestation revoked since issuance
PropertyTypeRequiredDescription
`target`Entity refYesThe attestation or claim verified
`verifier`IRIYesEntity performing verification
`status`StringYesVerification outcome
`checks`Array of CheckNoIndividual check results
`notes`StringNoHuman-readable detail

A TrustLink is a directed trust relationship between two entities, distinct from a CORE-LD Link because it carries trust-specific semantics.

{
  "@id": "_:tl1",
  "@type": "TrustLink",
  "source": "_:entity1",
  "target": "_:entity2",
  "trustType": "delegation",
  "degree": 0.9,
  "scope": ["representation", "governance"],
  "revocable": true
}

Registered trust types:

TypeMeaning
`direct`Direct first-hand trust
`delegation`Trust transferred from another trustor
`recommendation`Trust via trusted third party's endorsement
`institutional`Trust granted by institutional role
PropertyTypeRequiredDescription
`trustType`StringYesType of trust relationship
`degree`Number [0,1]NoStrength of trust (default 0.5)
`scope`Array of StringNoDomains in which trust applies
`revocable`BooleanNoWhether this link can be revoked (default true)

2.5 TrustPolicy

A TrustPolicy defines how trust is computed, propagated, and constrained within a system.

{
  "@id": "_:tp1",
  "@type": "TrustPolicy",
  "name": "ConstitutionalTrustPolicy",
  "anchors": ["_:ta1"],
  "propagation": {
    "maxDepth": 5,
    "decayFactor": 0.7,
    "requireScopeMatch": true
  },
  "verification": {
    "requireProof": true,
    "allowedProofTypes": ["Ed25519Signature2020"]
  }
}
PropertyTypeRequiredDescription
`anchors`Array of Entity refYesTrustAnchors this policy recognizes
`propagation`PropagationConfigNoRules for trust propagation
`verification`VerificationConfigNoRules for verification

PropagationConfig:

{
  "maxDepth": 5,
  "decayFactor": 0.7,
  "requireScopeMatch": true
}

VerificationConfig:

{
  "requireProof": true,
  "allowedProofTypes": ["Ed25519Signature2020", "EcdsaSecp256k1Signature2019"]
}

3. Trust Lifecycle

Anchor Establis​hed → Attestation Issued → Verification Performed → Trust Computed → (Revoked | Expired | Renewed)
StateMeaning
`Anchor Established`Root of trust registered
`Attestation Issued`Claim signed and published
`Verification Performed`Claim checked against anchors and policy
`Trust Computed`Propagation applied, degree assigned
`Revoked`Anchor or attestation withdrawn
`Expired`Validity window passed
`Renewed`Re-issued with new validity

4. Invariants

TRUST-LD inherits all 23 CORE-LD invariants (I1–I23). The following TRUST-LD-specific invariants are ADDITIONAL:

4.1 Anchor invariants (I-TRUST-1 through I-TRUST-4)

IDInvariantCheck
I-TRUST-1Every TrustAnchor has anchorType`anchorType` present and non-empty
I-TRUST-2Anchor type is registered`anchorType` ∈ {constitutional, organizational, personal, technical}
I-TRUST-3Every TrustAnchor has keyReference`keyReference` present and non-empty
I-TRUST-4Trust level is registered`trustLevel` ∈ {absolute, high, medium, low}

4.2 Attestation invariants (I-TRUST-5 through I-TRUST-10)

IDInvariantCheck
I-TRUST-5Every Attestation has attestor`attestor` present and non-empty
I-TRUST-6Every Attestation has subject`subject` present
I-TRUST-7Every Attestation has at least one claim`claims` non-empty
I-TRUST-8Claim predicate is a defined termEach `claims[].predicate` resolves via @context
I-TRUST-9Attestation validity window is ordered`validFrom` ≤ `validUntil` when both present
I-TRUST-10Constitutional attestations have proofWhen subject is constitutional, `proof` is present

4.3 Verification invariants (I-TRUST-11 through I-TRUST-14)

IDInvariantCheck
I-TRUST-11Every VerificationResult has target`target` present
I-TRUST-12Every VerificationResult has verifier`verifier` present
I-TRUST-13Status is registered`status` ∈ {verified, unverified, pending, failed, expired, revoked}
I-TRUST-14Verification checks have names and outcomesEach `checks[]` has `name` and boolean `passed`
IDInvariantCheck
I-TRUST-15TrustLink has registered trustType`trustType` ∈ {direct, delegation, recommendation, institutional}
I-TRUST-16TrustLink degree is in [0,1]`degree` absent (defaults 0.5) or in [0,1]
I-TRUST-17TrustLink source and target are distinct`source` ≠ `target`

4.5 Policy invariants (I-TRUST-18 through I-TRUST-20)

IDInvariantCheck
I-TRUST-18Every TrustPolicy has anchors`anchors` non-empty
I-TRUST-19Propagation maxDepth is positive`propagation.maxDepth` absent (defaults 5) or > 0
I-TRUST-20Propagation decayFactor is in (0,1]`decayFactor` absent (defaults 0.7) or in (0,1]

5. TRUST-LD @context Extension

The TRUST-LD @context extends the CORE-LD @context with the following term mappings:

{
  "@context": {
    "TrustAnchor": "https://specs.initialcore.net/ns/trust#TrustAnchor",
    "Attestation": "https://specs.initialcore.net/ns/trust#Attestation",
    "VerificationResult": "https://specs.initialcore.net/ns/trust#VerificationResult",
    "TrustLink": "https://specs.initialcore.net/ns/trust#TrustLink",
    "TrustPolicy": "https://specs.initialcore.net/ns/trust#TrustPolicy",

    "anchorType": "https://specs.initialcore.net/ns/trust#anchorType",
    "keyReference": "https://specs.initialcore.net/ns/trust#keyReference",
    "trustLevel": "https://specs.initialcore.net/ns/trust#trustLevel",
    "revoked": "https://specs.initialcore.net/ns/trust#revoked",
    "constitutional": "https://specs.initialcore.net/ns/trust#constitutional",
    "organizational": "https://specs.initialcore.net/ns/trust#organizational",
    "personal": "https://specs.initialcore.net/ns/trust#personal",
    "technical": "https://specs.initialcore.net/ns/trust#technical",
    "absolute": "https://specs.initialcore.net/ns/trust#absolute",
    "high": "https://specs.initialcore.net/ns/trust#high",
    "medium": "https://specs.initialcore.net/ns/trust#medium",
    "low": "https://specs.initialcore.net/ns/trust#low",

    "attestor": { "@id": "https://specs.initialcore.net/ns/trust#attestor", "@type": "@id" },
    "subject": { "@id": "https://specs.initialcore.net/ns/trust#subject", "@type": "@id" },
    "claims": { "@id": "https://specs.initialcore.net/ns/trust#claims", "@container": "@set" },
    "validFrom": { "@id": "https://specs.initialcore.net/ns/trust#validFrom", "@type": "xsd:dateTime" },
    "validUntil": { "@id": "https://specs.initialcore.net/ns/trust#validUntil", "@type": "xsd:dateTime" },
    "proof": "https://specs.initialcore.net/ns/trust#proof",
    "proofValue": "https://specs.initialcore.net/ns/trust#proofValue",
    "verificationMethod": "https://specs.initialcore.net/ns/trust#verificationMethod",

    "target": { "@id": "https://specs.initialcore.net/ns/trust#target", "@type": "@id" },
    "verifier": { "@id": "https://specs.initialcore.net/ns/trust#verifier", "@type": "@id" },
    "status": "https://specs.initialcore.net/ns/trust#status",
    "checks": { "@id": "https://specs.initialcore.net/ns/trust#checks", "@container": "@set" },
    "notes": "https://schema.org/description",
    "verified": "https://specs.initialcore.net/ns/trust#verified",
    "unverified": "https://specs.initialcore.net/ns/trust#unverified",
    "pending": "https://specs.initialcore.net/ns/trust#pending",
    "failed": "https://specs.initialcore.net/ns/trust#failed",
    "expired": "https://specs.initialcore.net/ns/trust#expired",

    "trustType": "https://specs.initialcore.net/ns/trust#trustType",
    "degree": "https://specs.initialcore.net/ns/trust#degree",
    "scope": { "@id": "https://specs.initialcore.net/ns/trust#scope", "@container": "@set" },
    "revocable": "https://specs.initialcore.net/ns/trust#revocable",
    "direct": "https://specs.initialcore.net/ns/trust#direct",
    "delegation": "https://specs.initialcore.net/ns/trust#delegation",
    "recommendation": "https://specs.initialcore.net/ns/trust#recommendation",
    "institutional": "https://specs.initialcore.net/ns/trust#institutional",

    "anchors": { "@id": "https://specs.initialcore.net/ns/trust#anchors", "@container": "@set" },
    "propagation": "https://specs.initialcore.net/ns/trust#propagation",
    "verification": "https://specs.initialcore.net/ns/trust#verification",
    "maxDepth": "https://specs.initialcore.net/ns/trust#maxDepth",
    "decayFactor": "https://specs.initialcore.net/ns/trust#decayFactor",
    "requireScopeMatch": "https://specs.initialcore.net/ns/trust#requireScopeMatch",
    "requireProof": "https://specs.initialcore.net/ns/trust#requireProof",
    "allowedProofTypes": { "@id": "https://specs.initialcore.net/ns/trust#allowedProofTypes", "@container": "@set" }
  }
}

6. Composition Examples

6.1 Trust-anchored attestation of a constitutional entity

{
  "@context": [
    "https://specs.initialcore.net/ns/core-ld.jsonld",
    "https://specs.initialcore.net/ns/trust-ld.jsonld"
  ],
  "@id": "_:att1",
  "@type": "Attestation",
  "attestor": "did:icore:root",
  "subject": "_:entity1",
  "claims": [
    { "predicate": "authorityType", "value": "inherent" },
    { "predicate": "constitutionalHash", "value": "zb2rhXj..." }
  ],
  "validFrom": "2026-07-30T00:00:00Z",
  "validUntil": "2027-07-30T00:00:00Z",
  "proof": {
    "type": "Ed25519Signature2020",
    "created": "2026-07-30T00:00:01Z",
    "verificationMethod": "did:icore:root#key-1",
    "proofValue": "z3vX4..."
  }
}

6.2 Verification result with check breakdown

{
  "@context": [
    "https://specs.initialcore.net/ns/core-ld.jsonld",
    "https://specs.initialcore.net/ns/trust-ld.jsonld"
  ],
  "@id": "_:vr1",
  "@type": "VerificationResult",
  "target": "_:att1",
  "verifier": "did:icore:gateway",
  "status": "verified",
  "timestamp": "2026-07-30T00:00:05Z",
  "checks": [
    { "name": "signature", "passed": true },
    { "name": "expiry", "passed": true },
    { "name": "anchor-chain", "passed": true },
    { "name": "scope-match", "passed": true }
  ],
  "notes": "Attestation verified against constitutional root anchor"
}

6.3 Trust policy with propagation config

{
  "@context": [
    "https://specs.initialcore.net/ns/core-ld.jsonld",
    "https://specs.initialcore.net/ns/trust-ld.jsonld"
  ],
  "@id": "_:tp1",
  "@type": "TrustPolicy",
  "name": "ICore Default Trust Policy",
  "anchors": ["_:ta1"],
  "propagation": {
    "maxDepth": 5,
    "decayFactor": 0.7,
    "requireScopeMatch": true
  },
  "verification": {
    "requireProof": true,
    "allowedProofTypes": ["Ed25519Signature2020"]
  }
}

6.4 Composition with INPUT-LD and MEMORY-LD

INPUT-LD Request ──carries──> Attestation (TRUST-LD)
        │                              │
        ▼                              ▼
  System processes ──records──> VerificationResult (TRUST-LD)
        │
        ▼
  Episode stored (MEMORY-LD) ──linked to──> VerificationResult

7. Conformance

7.1 Implementation requirements

A conforming TRUST-LD implementation MUST: 1. Satisfy all CORE-LD conformance requirements (§9 of CORE-LD) 2. Parse the TRUST-LD @context extension (§5) in addition to the CORE-LD @context 3. Validate all 20 TRUST-LD invariants (I-TRUST-1 through I-TRUST-20) 4. Reject documents that violate any CORE-LD or TRUST-LD invariant 5. Accept any valid CORE-LD document as also valid at the CORE-LD level (TRUST-LD is additive)

7.2 Conformance levels

LevelRequirements
L1 AnchorCORE-LD L1 + I-TRUST-1 through I-TRUST-4 (anchors)
L2 AttestationL1 + I-TRUST-5 through I-TRUST-10 (attestations)
L3 VerificationL2 + I-TRUST-11 through I-TRUST-20 (verification, links, policy)

8. Relationship to Other Profiles

ProfileRelationship
CORE-LDTRUST-LD extends CORE-LD; TrustLinks build on CORE-LD Links; provenance provides attestation substrate
INPUT-LDInputs may carry attestations; verification results may gate request acceptance
MEMORY-LDVerification results stored as episodes; trust state persists in memory
POLICY-LDTrust policies are policies; trust computations may be governed by constitutional rules

9. Future Considerations


TRUST-LD v0.1.0 — July 30, 2026. Draft. Extends CORE-LD v0.1.0. Fourth functional profile in the DAG--LD specification family.*