Verification
import { StandardSite } from '@/app/components/docs'
Verification
Since records reference domains and web pages, a verifiable way for these resources to point back to their corresponding records is needed.
Overview
Verification is accomplished using a .well-known endpoint for publications, and an HTML tag for documents.
When an application needs to verify a record, it fetches the appropriate verification endpoint and checks that the returned value matches the record's AT-URI.
A record should only be considered "valid" if the author of the material provides an accurate verification endpoint pointing to the record.
Publication Verification
To verify a publication, add a .well-known endpoint to the domain:
The endpoint should return the AT-URI of the publication record:
Non-root Publications
If the publication does not live at the domain root, append the publication path to the endpoint:
Document Verification
To verify an individual document, include a tag in the document's that references its AT-URI.
HTML Example
This confirms the association between the rendered document and its site.standard.document record.
Verification Flow
- An application discovers a record
- The record contains a url (for publications) or site + path (for documents)
- The application fetches the verification endpoint from that URL
- The application checks if the returned AT-URI matches the record
- If they match, the record is verified
Best Practices
- Always implement verification for production records
- Use HTTPS for all publication and document URLs
- Keep AT-URIs consistent across records and verification endpoints
- Update verification endpoints when migrating records to a new DID
Related
- Publication lexicon - Understanding publication records
- Document lexicon - Understanding document records
- Quick Start - Implementation guide
Discussion in the ATmosphere