forked from
standard.site/standard.site
Standard.site landing page built in Next.js
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