---
id: auth-legal-docs
title: "GET /legal/:doc — Правовые документы (публично)"
domain: auth
kind: api-method
http: "GET /legal/:doc"
---

# GET /legal/:doc — Правовые документы (публично) {#auth-legal-docs}

## Сводка

> Страница ведётся **вручную**: роут смонтирован в `server/index.js` (вне `server/routes/`), поэтому `scripts/gen-reference.js` его не видит и эту таблицу не перезаписывает. Правки — здесь, сверяясь с матрицами (`docs/matrices/srm/auth.yaml`, SRM-388).

| Поле | Значение |
|---|---|
| **HTTP** | `GET /legal/:doc` |
| **Auth** | `—` — без сессии и без токена (ч. 2 ст. 18.1 152-ФЗ: свободный неограниченный доступ) |
| **Scope токена** | не применяется (эндпоинт вне `/api`) |
| **PG-функции** | — |
| **Таблицы** | — |
| **SRM** | SRM-388 |
| **RP (права)** | — (проверки прав нет: документ публичен по закону) |
| **Файл роута** | `server/index.js` → `server/legal/render.js` |
| **Статус** | done |

**Аргументы запроса:**

| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
| `doc` | путь | да | Только из белого списка: `agreement` \| `cookie` |

**Коды ответов/ошибок:** `200` (HTML документа), `404` (`text/plain`, ключ вне белого списка).

Эндпоинт **вне `/api`** и вне агентного контура: токен не нужен и не проверяется, скоупы (`read` / `read_write`) к нему не применяются, аффордансов и markdown-зеркала у него нет — он не входит в набор ресурсов (`server/agent/affordances.js`). Никакой пользовательской или иной персональной информации ответ не содержит.

```bash
curl -i https://specbuilder.vnimanie.ai/legal/agreement
```

Ответ — готовая HTML-страница (`text/html; charset=utf-8`) с заголовком `Cache-Control: public, max-age=3600`. Ключ пути берётся из белого списка `agreement` | `cookie`; любой другой (в том числе попытка подставить путь к файлу) → `404` c `text/plain`, произвольные файлы по имени из запроса недоступны.

Тексты рендерятся из `server/legal/*.md` один раз при старте процесса и дальше отдаются из памяти — обновление редакции требует деплоя, а не запроса к API.

Редакции документов (`LEGAL_VERSIONS` в `server/legal/render.js`) записываются в `legal_acceptance` в момент регистрации — см. [`POST /api/auth/register`](register.md#auth-register).

<!-- gen:start:related -->
## Связанные
- Экраны: [Top bar](../screens/top-bar.md#auth-screen-top-bar) · [Аккаунт](../screens/account.md#auth-screen-account)
- [Конвенции](../../../shared/conventions.md#conventions) · [Роли](../../../shared/roles.md#roles) · [Ошибки](../../../shared/errors.md#errors) · [Глоссарий](../../../shared/glossary.md#glossary)
<!-- gen:end:related -->

---

Human view: https://docs.vnimanie.ai/specbuilder/v1/domains/auth/api/legal-docs/