---
title: "Publisher integrity and verification"
description: "Verify domain-bound catalog signatures and exact published artifact digests."
canonical: https://home.ashwingopalsamy.in/trust/
last_updated: 2026-10-04
revision: 9854678424613b1e258b3c20f0570eaf348fe1dec2290d027cdbb54f17f7a7fe
language: en
---

# Publisher integrity and verification

## Claim and limits
Agam publisher-integrity profile 1.0.0 proves that the domain publisher signed this resource description and its artifact digest. It does not certify the source facts, workmanship, safety, regulatory compliance, prices or independent audit. The public journal remains keyless. This profile does not authenticate inbound bots or implement Web Bot Auth.

## Discover and verify
Fetch [ARD](/.well-known/ard.json) and [the DID document](/.well-known/did.json) over HTTPS. Entry identifiers must begin urn:air:home.ashwingopalsamy.in: and resource URLs must have the canonical home origin. The identity must be did:web:home.ashwingopalsamy.in. Require the publisher-integrity trustSchema identifier, version 1.0.0 and this canonical governance URL.

Remove only trustManifest.signature from the entry, canonicalize the complete remaining entry using RFC 8785, and verify the detached compact JWS per RFC 7515 using ES256 (RFC 7518). Its protected kid must resolve to a DID verificationMethod authorized by assertionMethod; its controller must be the same DID. Reject unsupported algorithms, unknown or revoked keys, malformed signatures and authority mismatches. Fetch the exact resource URL and compare SHA-256 of its raw UTF-8 bytes with sourceDigest. Follow the verification script in the [integration source](https://github.com/ashwingopalsamy/agam-integrations).

## Signing and rotation
The private P-256 signing JWK lives only in the Worker ARD_SIGNING_KEY secret. The public DID contains no private key. The Worker signs only the fixed generated catalog; it cannot sign arbitrary caller messages or fetch arbitrary URLs. Missing signing infrastructure returns a real 503 instead of claiming successful verification.

Rotation is atomic: deploy the new Worker secret, which supplies both the published public key and signatures. The previous key is removed from the current DID, so old cached catalogs must be refreshed and old signatures are rejected against the current document. Publisher-integrity responses use no-store and ETag-only validators to prevent stale revocation metadata. Store a recovery copy in the owner's protected secret storage; never commit it or place it in logs, command arguments or examples.

## Specifications
The did:web method is a community specification. JWS and ES256 use RFC 7515/7518; canonicalization follows informational RFC 8785. ARD does not prescribe this signing profile; this is Agam's declared and tested local trust framework. ARD and AI Catalog remain separately validated serializations.

[Developer guide](/developers/) · [Agent guide](/agents.md)

## Source

Review: not independently reviewed. Last updated: 2026-10-04.
Freshness comes from source/correction dates; month-only sources use their publication date as a disclosed release-date fallback. Work and payment dates are separate.

[Canonical page](https://home.ashwingopalsamy.in/trust/) · [Developer guide](/developers/) · [Navigation](/llms.txt)
