# Модуль: Приватные ресурсы и сотрудники **Ответственность**: подключает игнорируемые Git подписи и печати через один переключатель, хранит публичный справочник сотрудников и оставляет пустое место при недоступной подписи. **Расположение**: `.template/lib/infrastructure/employees.typ`, `.template/lib/assets/placeholders/`, `.private/`, `docs/examples/private/settings.typ` ## Публичный интерфейс | Элемент | Назначение | |---------|------------| | `employee-directory` | ФИО, обычные должности и имена PNG | | `empty-private-settings` | Безопасная конфигурация без private paths | | `private-company-media()` | Возвращает подпись и печать выбранной организации либо `none` | | `report-executor()` | Строит legacy-compatible tuple исполнителя с необязательной подписью | | `.private/settings.typ` | Локальная доступность изображений и индивидуальные offsets | ## Инварианты - При `use-private-assets = false` условный import не читает `.private/settings.typ`. - Включённая запись ссылается только на фиксированное имя из публичного справочника. - Отсутствующая или отключённая запись возвращает `none`, поэтому строка подписи остаётся пустой. - Реальные файлы не заменяют tracked placeholders. - Каталог `.private/` целиком игнорируется Git. - Обычная сборка и private-сборка используют одну VS Code task. ## Намеренно НЕ обрабатывает - Доставку и шифрование папки `.private`. - Проверку подлинности подписи. - Автоматическую проверку наличия файла внутри Typst 0.15. ## Заметки для агента > Typst не предоставляет безопасный file-exists. Поэтому при ещё не полученной подписи запись должна отсутствовать или иметь `enabled: false`. При добавлении сотрудника синхронно обновите directory, безопасный пример и публичную таблицу.