---
title: "File-first: файлы — источник истины"
description: "Заметки — обычные Markdown-файлы на вашем диске: они источник истины, а индекс, граф и поиск — восстановимое производное."
---

# File-first: файлы — источник истины

Единица данных в Notarium — обычный Markdown-файл на вашем диске. Не строка в чужой базе, не блок в проприетарном хранилище, а файл, который открывается любым редактором и остаётся полноценным без Notarium. Это принцип file-first, из которого следует всё остальное.

## Что «истина», а что производное

Источник истины — сами `.md`-файлы. Всё, что можно вычислить из их содержимого, — производное и восстановимое:

- **производное** (пересобирается с нуля ресканом): поисковый индекс, граф `[[wikilinks]]`, дерево, сниппеты. Удалить индекс не страшно — движок переиндексирует файлы при следующем старте;
- **невыводимое** (живёт в отдельной служебной БД): история версий, пользователи, членство и доступы. Это то, что из текста файлов не восстановить, — поэтому оно вынесено в один явно отделённый дом.

Идентичность, наоборот, закреплена в самих файлах: `notarium-id` заметки — во frontmatter, а идентификаторы пространства и проекта — в файлах-маркерах (`.notariummeta`). Поэтому таблицы пространств и проектов в служебной БД — это восстановимый сканом кэш, а не единственный дом идентичности: она переживает даже внешний перенос папки.

> [!note] Почему это важно
> Потеря индекса не страшна: он просто пересобирается. Файлы при этом не трогаются никогда — запись атомарна (пишем во временный файл, затем переименовываем), а внешние правки (git, другой редактор) считаются нормальным режимом, а не ошибкой.

Внешняя правка подхватывается, даже если файл сохранил прежние размер и время изменения, — а так бывает после `git checkout`, синхронизации или восстановления из архива. Notarium не доверяет одним лишь метаданным файла: последнее слово остаётся за содержимым, поэтому производные поверхности (список, поиск, граф) сходятся с диском, а не залипают на устаревшей версии.

## Файл-заметка, а не блок

Граница принципа проведена сознательно: единица данных — файл-заметка целиком, а не абзац или блок внутри него. Notarium не вводит отдельных сущностей мельче файла — заметка целиком остаётся минимальной единицей; именно здесь файловые заметочники обычно переходят на базу как источник истины и теряют переносимость. Заметка остаётся файлом, а структура внутри — это просто Markdown.

Отрисовка — GitHub Flavored Markdown; служебные поля хранятся во frontmatter в начале файла.

## Идентичность переживает переезд

У каждой заметки есть стабильный внутренний идентификатор `notarium-id` — 12-символьный URL-safe ключ во frontmatter файла:

```md
---
notarium-id: aB3kR7xQ_2mv
title: Моя заметка
---

Текст заметки в обычном Markdown.
```

Идентичность живёт **в самом файле**, а не только в базе. Поэтому переименование, перенос между папками и даже внешний перенос мимо Notarium не осиротят историю версий и связи: журнал и ссылки привязаны к `notarium-id`, а не к пути. Имя файла — производное (kebab-case через транслитерацию, `slug(title).md`) и идентичностью не является.

## Никакого lock-in

Забрать папку с файлами и уйти можно в любой момент — без Notarium заметки остаются читаемыми и полноценными. Экспорт как отдельная операция не нужен: вы никогда и не «внутри» — данные всегда лежат обычными файлами на вашем диске. `git` может быть источником истины: версионируйте папку, синхронизируйте её, читайте историю привычными инструментами.

Это же — основа приватности Notarium: она держится не на сквозном шифровании (умный сервер намеренно видит содержимое — иначе не было бы поиска, семантики и агентов), а на том, что сервер и файлы вы держите у себя. Подробнее — в разделах [Пространства и проекты](/docs/concepts/spaces-and-projects/) и [Модель доступа](/docs/concepts/access-model/).
