---
title: Verification
description: Understanding how Standard.site records are verified to avoid impersonation or spam..
date: 2026-02-10
atUri: "at://did:plc:re3ebnp5v7ffagz6rb6xfei4/site.standard.document/3mek5jhip372r"
ogImage: opengraph-image-docs-verification-v2.png
---


import { StandardSite, Updated } from '@/app/components/docs'

# Verification

Since <StandardSite /> 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 `<link>` 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 <StandardSite /> 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:

```
/.well-known/site.standard.publication
```

The endpoint should return the AT-URI of the publication record:

```
at://did:plc:abc123/site.standard.publication/rkey
```

### Discovery Hint <Updated label="New" />

Publications may also expose their AT-URI via a `<link>` tag in the page `<head>` to encourage discovery.

```html
<link
  rel="site.standard.publication"
  href="at://did:plc:abc123/site.standard.publication/rkey"
/>
```

This is a hint only. Do not rely on it for verification, and always confirm via the `.well-known` endpoint.

### Non-root Publications

If the publication does not live at the domain root, append the publication path to the endpoint:

```
/.well-known/site.standard.publication/path/to/publication
```

## Document Verification

To verify an individual document, include a `<link>` tag in the document's `<head>` that references its AT-URI.

```html
<link
  rel="site.standard.document"
  href="at://did:plc:xyz789/site.standard.document/rkey"
/>
```

This confirms the association between the rendered document and its `site.standard.document` record.

## Verification Flow

1. An application discovers a <StandardSite /> record
2. The record contains a `url` (for publications) or `site` + `path` (for documents)
3. The application fetches the verification endpoint from that URL
4. The application checks if the returned AT-URI matches the record
5. 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](/docs/lexicons/publication) - Understanding publication records
- [Document lexicon](/docs/lexicons/document) - Understanding document records
- [Quick Start](/docs/quick-start) - Implementation guide
