Дата: 2026-08-31 Статус: Принято
Способ доставки через ZIP заменён папкой
.privateв ADR-0010. Граница публичных и приватных данных остаётся действующей.
Внутренний шаблон Scientia содержит фирменные реквизиты, логотипы, имена, подписи, печати и материалы конкретного документа. Логотипы, адреса, имена и реквизиты разрешено распространять внутри компании. Реальные подписи и печати нельзя хранить в Git вместе с шаблоном.
Typst не читает ZIP напрямую и не умеет проверить наличие изображения без попытки его загрузить. Поэтому приватный архив должен быть внешним каналом доставки, а отсутствие ресурса должно моделироваться значением none.
Выбрали три класса ресурсов:
.template/companies/;assets/;private-assets.zip; проверенная задача извлекает их в .private/ и включает через sys.inputs только на время приватной сборки main.typ..private/ и private-assets*.zip исключаются через .gitignore. В репозитории остаются только нейтральные placeholders: векторный круг для печати и крест для подписи. При значении ресурса none renderer использует placeholder; указанный путь обязан существовать.
Становится проще: безопасно форкать шаблон, централизованно обновлять публичные реквизиты и собирать документ без приватного архива.
Становится сложнее: для финального подписанного PDF нужно получить ZIP, извлечь его и явно указать пути.
Закрывает дверь на: хранение настоящих подписей и печатей в обычном Git, Git LFS или visual snapshots.