Standard.site landing page built in Next.js
at main 80 lines 2.6 kB view raw
1--- 2title: Verification 3description: Understanding how Standard.site records are verified to avoid impersonation or spam.. 4date: 2026-02-10 5atUri: "at://did:plc:re3ebnp5v7ffagz6rb6xfei4/site.standard.document/3mek5jhip372r" 6ogImage: opengraph-image-docs-verification-v2.png 7--- 8 9 10import { StandardSite } from '@/app/components/docs' 11 12# Verification 13 14Since <StandardSite /> records reference domains and web pages, a verifiable way for these resources to point back to their corresponding records is needed. 15 16## Overview 17 18Verification is accomplished using a `.well-known` endpoint for publications, and an HTML `<link>` tag for documents. 19 20When 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. 21 22A <StandardSite /> record should only be considered "valid" if the author of the material provides an accurate verification endpoint pointing to the record. 23 24## Publication Verification 25 26To verify a publication, add a `.well-known` endpoint to the domain: 27 28``` 29/.well-known/site.standard.publication 30``` 31 32The endpoint should return the AT-URI of the publication record: 33 34``` 35at://did:plc:abc123/site.standard.publication/rkey 36``` 37 38### Non-root Publications 39 40If the publication does not live at the domain root, append the publication path to the endpoint: 41 42``` 43/.well-known/site.standard.publication/path/to/publication 44``` 45 46## Document Verification 47 48To verify an individual document, include a `<link>` tag in the document's `<head>` that references its AT-URI. 49 50### HTML Example 51 52```html 53<link 54 rel="site.standard.document" 55 href="at://did:plc:xyz789/site.standard.document/rkey" 56/> 57``` 58 59This confirms the association between the rendered document and its `site.standard.document` record. 60 61## Verification Flow 62 631. An application discovers a <StandardSite /> record 642. The record contains a `url` (for publications) or `site` + `path` (for documents) 653. The application fetches the verification endpoint from that URL 664. The application checks if the returned AT-URI matches the record 675. If they match, the record is verified 68 69## Best Practices 70 71- Always implement verification for production records 72- Use HTTPS for all publication and document URLs 73- Keep AT-URIs consistent across records and verification endpoints 74- Update verification endpoints when migrating records to a new DID 75 76## Related 77 78- [Publication lexicon](/docs/lexicons/publication) - Understanding publication records 79- [Document lexicon](/docs/lexicons/document) - Understanding document records 80- [Quick Start](/docs/quick-start) - Implementation guide