Хранение кадровых документов в организации — это уже не просто полки с папками в архиве. В России продолжается активный переход на электронный документооборот. Но вместе с новыми технологиями появляются и новые обязанности: хранить кадровые документы в электронном виде правильно — задача не только IT‑специалистов, но и юристов, кадровиков, руководителей. Ошибка может обернуться штрафом, трудовым спором или полной утратой юридически значимых данных.

В этой статье мы разберем:

  • какие документы подлежат хранению и сколько;

  • в каком виде (бумажном или электронном) можно хранить;

  • как правильно хранить кадровые документы в электронном виде;

  • какие стандарты электронной подписи (например, CAdES и PAdES) соответствуют закону;

  • как избежать типичных ошибок;

  • и как можно автоматизировать работу с архивными документами, сократив ручной труд и расходы.

Содержание

Почему важно правильно хранить кадровые документы

Правильное хранение кадровых документов — это не только гарантия соблюдения прав сотрудников, но и обеспечение:

  • Доказательств при трудовых спорах;

  • Беспроблемного прохождения проверок;

  • Корректного начисления пенсий, стажа и пособий;

  • Сохранения юридической силы документов на протяжении десятилетий.

Один утерянный или неправильно оформленный приказ об увольнении может обернуться судом, восстановлением сотрудника и выплатами за «вынужденный прогул». А при проверке инспекции труда или Росархива любая ошибка в сроках хранения, формате ЭП или структуре архива — это уже не мелочь, а повод для штрафа. Особенно в 2025 году, когда правила ужесточились, а проверки стали чаще. 

В России вступили в силу обновленные требования к кадровым электронным документам. Основное — долговременное юридически значимое хранение и переход от бумажных архивов к цифровым.

Органы надзора усилили внимание к соблюдению норм. Для работодателей это означает: нужно не просто подписать электронный документ, но и гарантировать его читаемость и юридическую силу через 50 лет и более.

Какие кадровые документы подлежат хранению

Кадровые документы представляют собой хронологическую летопись трудовой деятельности работника: от приема на работу до увольнения, включая отпуска, командировки, переводы, прохождение аттестаций и другие события. Согласно требованиям законодательства, каждая организация обязана обеспечить сохранность широкого круга таких бумаг — трудовых договоров и допсоглашений к ним, приказов, табелей учета рабочего времени, личных карточек сотрудников, заявлений и иных документов.

Срок хранения зависит от типа документа: одни подлежат постоянному хранению, другие — в течение 75 лет, есть и те, что необходимо сохранять всего 5, 3 или даже 1 год. Ошибки в определении сроков хранения могут привести либо к потере значимой информации, либо к лишним расходам на содержание архивов.

Условно всю кадровую документацию можно классифицировать по категориям хранения.

Документы по личному составу

К данной категории относятся документы, непосредственно отражающие трудовые взаимоотношения между сотрудником и работодателем. В их число входят:

  • трудовые договоры и приложения к ним;

  • приказы о приеме на работу, переводе и увольнении;

  • личные карточки работников;

  • материалы, связанные с дисциплинарными взысканиями;

  • графики отпусков;

  • анкеты, автобиографии, заявления, справки и другие аналогичные документы.

Срок хранения: 50/75 лет — для документов, подтверждающих трудовую деятельность. Отдельные документы хранятся 5 лет.

Бухгалтерские и зарплатные документы

В эту группу входят документы, касающиеся начисления зарплаты, уплаты налогов и взаимодействия с надзорными органами. Среди них:

  • расчетные листки;

  • платежные ведомости;

  • табели учета рабочего времени (при наличии вредных или опасных условий труда — срок хранения увеличивается до 75 лет);

  • справки по формам 2-НДФЛ, СЗВ‑ТД, СЗВ‑СТАЖ;

  • бумаги, связанные с командировками, выплатой премий, надбавок и других начислений.

Срок хранения: варьируется от 5 до 50 лет в зависимости от их вида и условий труда.

Документы с контрагентами и иные виды

В эту категорию входят документы, которые не относятся напрямую к трудовым договорам, но имеют значение для кадрового учета. К ним относятся::

  • договоры гражданско‑правового характера (ГПХ), заключенные с физическими лицами;

  • акты приема‑сдачи оказанных услуг или выполненных работ;

  • служебные записки и деловая переписка по кадровым вопросам;

  • внутренние нормативные документы — положения, инструкции, регламенты.

Срок хранения: составляет от 5 до 10 лет.

Сроки хранения кадровых документов в 2025 году

Хранение документов по личному составу, включая электронные формы, строго регламентируется российским законодательством. Сейчас действуют следующие нормы:

  • Трудовой кодекс РФ, дополненный законами № 377-ФЗ (от 22.11.2021) и № 407-ФЗ (от 08.12.2020), разрешает организациям оформлять, подписывать и хранить кадровую документацию исключительно в цифровом виде — без необходимости вести бумажные копии. Также уточняется порядок взаимодействия с дистанционными работниками.

  • Федеральный закон № 125-ФЗ «Об архивном деле в РФ» закрепляет обязанность организаций обеспечивать сохранность всех архивных документов, включая электронные, в течение установленного срока хранения.

  • Приказ Росархива № 77 от 31.07.2023 описывает требования к организации учета, комплектования и хранения электронных архивов. Рекомендуется разделять документы по срокам хранения (временные, долговременные, постоянные) и использовать специализированные системы хранения (СХЭД).

  • Приказ Минтруда № 578н от 20.09.2022 утвердил единые требования к составу и формату электронных кадровых документов (ЭКД), которые оформляются без бумажного дублирования.

  • Приказ Росархива № 69 от 15.06.2020 содержит типовые требования к функциональности систем электронного документооборота (СЭД) и хранения ЭД, используемых в государственных архивах. Документ фактически выполняет роль технического ориентира для ИТ‑структур.

  • Приказ Росархива № 236 от 20.12.2019 остается действующим и определяет сроки хранения документов, включая электронные, подписанные КЭП. Он служит основой для классификации и управления архивами в организациях.

  • Федеральный закон № 63-ФЗ «Об электронной подписи» приравнивает документы, подписанные квалифицированной электронной подписью (КЭП), к бумажным оригиналам с собственноручной подписью.

  • Приказ Минцифры России № 858 от 18.08.2021 устанавливает стандарты для машиночитаемых форм доверенностей. Сотрудники подписывают электронные документы от лица компании, прикладывая МЧД для подтверждения полномочий.

В 2025 году действуют следующие сроки хранения кадровых документов:

Вид документа

Срок хранения

Табели учета рабочего времени

5 лет ***

Графики отпусков

3 года

Трудовые договоры (все формы)

50 лет (если оформлены после 01.01.2003) / 75 лет (если оформлены до 01.01.2003)

Электронные трудовые книжки (ЭТК)

75 лет

Документы по охране труда

5 лет

Документы по воинскому учету 

5 лет

Доп. соглашения, приказы о приеме, увольнении, переводе

50 / 75 лет*

Штатное расписание

Постоянно

Личные карточки

50 / 75 лет*

Лицевые счета работников

75 лет

Сведения о трудовой деятельности (ЭТК, СЗВ‑ТД)

50 / 75 лет*

Акты, служебные записки, объяснительные

5 лет

Журналы инструктажа, охрана труда

45 лет

Документы о выплате заработной платы

5 лет (общие), 75 лет (пенсионные данные)**

Правила внутреннего трудового распорядка

1 год

Документы о численности, составе и движении работников

5 лет

Книга почета организации

Постоянно

* 75 лет — если организация передает документы в государственный архив или если документ обладает исторической ценностью.

** 75 лет также предусмотрено для документов, содержащих сведения, влияющие на формирование пенсионных прав (например, расчетные листки, лицевые счета и прочее).

*** При вредных и опасных условиях труда — 50/75 лет

Дополнительно согласно Приказу Росархива № 77 от 31.07.2023 документы временного хранения (до 10 лет включительно) могут быть уничтожены после проведения экспертизы ценности, если отсутствуют условия для их дальнейшего хранения.​

Ошибки и частые нарушения при хранении кадровых документов

Нарушения в хранении кадровой документации — одна из часто встречающихся проблем, особенно в условиях внедрения электронных систем документооборота. В 2025 году многие компании по‑прежнему совершают стандартные ошибки, которые могут обернуться административными штрафами, потерей данных и трудностями при восстановлении трудового стажа работников.

Выделим типичные ошибки при хранении:

1. Отсутствие системы учета сроков хранения

Если организация не ведет контроль над сроками хранения электронных документов, это приводит к:

  • удалению документов до истечения срока хранения;

  • переполнению хранилища за счет «вечного» хранения;

  • невозможности доказать исполнение трудовых обязанностей или подтверждение стажа.

Решение: автоматизированный контроль сроков по номенклатуре дел и типовому перечню.

2. Неправильное хранение подписанных электронных документов

Ошибки: хранение только оригиналов без подписи, использование форматов, для которых невозможно достоверно установить время подписания или действительность сертификата на момент подписания.

  • Подписи могут формироваться и храниться отдельно от документа (открепленная подпись) — при потере самого документа подпись невозможно проверить и она теряет юридическую силу.

  • Отсутствие метки времени делает невозможной доказательство времени подписания.

  • Отсутствие доказательств действительности сертификата на момент подписания (OCSP ответ в CAdES‑X Long Type 1) после истечения его срока действия приводят к недействительному результату проверки.

  • Не используются стандарты специально предназначенные для длительного хранения (CAdES‑A)

Решение: использовать форматы CAdES‑T, CAdES‑X Long Type 1, или CAdES‑A. Формировать пакет документов (оригинал + подпись) или использовать встроенную в документ подпись (PAdES).

3. Нарушения в обеспечении архивного хранения

Ошибка: хранение документов в нестабильной ИТ‑среде — на пользовательских ПК, без резервного копирования, без версионности.

Решение: централизованное хранилище с резервным копированием, аудитом доступа и логированием операций.

4. Отсутствие внутренних регламентов и политики хранения

  • Нет описания форматов хранения.

  • Нет инструкции по выгрузке и передаче архивов.

  • Нет ответственных за архив.

Решение: утвердить локальные акты по архивному хранению и назначить ответственных.

5. Нарушения при утилизации документов

Документы удаляются без акта, без учета, без фиксации сроков.

Решение: акт об уничтожении, журналы учета, фиксация оснований — всё это нужно вести и по бумажным, и по электронным документам.

Ответственность за неправильное хранение

Нарушения сроков или правил хранения кадровых документов могут обернуться административной, гражданской, а в отдельных случаях и уголовной ответственностью — всё зависит от характера последствий и степени допущенных нарушений. Утрата документов, их повреждение, отсутствие подписей или невозможность предоставить их по требованию контролирующих органов — всё это расценивается как нарушение действующего законодательства. Возможные последствия:

1. Административная ответственность

Статья 13.25 КоАП РФ — Нарушение требований законодательства о хранении документов и информации, содержащейся в информационных системах

  • Должностные лица: штраф от 2 500 до 5 000 рублей.

  • Юридические лица: штраф от 200 000 до 300 000 рублей. ​

Статья 13.20 КоАП РФ — Нарушение правил хранения, комплектования, учета или использования архивных документов

  • Должностные лица: штраф от 3 000 до 5 000 рублей.

  • Юридические лица: штраф от 5 000 до 10 000 рублей.

Статья 15.11 КоАП РФ — Грубое нарушение требований к бухгалтерскому учету

  • Должностные лица: штраф от 5 000 до 10 000 рублей. При повторном нарушении от 10 000 до 20 000 рублей или дисквалификацию на срок от одного года до двух лет. ​

Статья 5.27 КоАП РФ — Нарушение трудового законодательства и иных нормативных правовых актов, содержащих нормы трудового права

  • Должностные лица: штраф от 10 000 до 20 000 рублей или дисквалификация на срок от 1 года до 3 лет (Если нарушение впервые — штраф от 1 000 до 5 000 ₽).

  • Юридические лица: штраф от 50 000 до 70 000 рублей (При первичном — от 30 000 до 50 000 рублей).

  • Индивидуальные предприниматели: штраф от 10 000 до 20 000 рублей (При первичном — от 1 000 до 5 000 рублей). ​

2. Гражданско‑правовая ответственность

Если из‑за утраты кадровых документов работник не может подтвердить трудовой стаж либо возник спор о выплатах, суд может обязать организацию:​

  • выплатить компенсации пострадавшим работникам;

  • восстановить утерянные данные;

  • понести судебные издержки.

3. Уголовная ответственность

Статья 327 УК РФ — Подделка, изготовление или сбыт поддельных документов​

Применяется редко, но возможна при:

  • умышленном уничтожении документов;

  • фальсификации;

  • воспрепятствовании доступу контролирующих органов (например, при проверке ГИТ или прокуратуры).

3. Потеря доказательств и юридических прав

Утрата документов по личному составу может повлечь за собой:​

  • Невозможность подтверждения трудового стажа работником;

  • Отказ пенсионных и социальных органов в начислении выплат;

  • Риск проигрыша судебных дел организацией.

Правильное хранение кадровых документов — это не только вопрос соответствия закону, но и гарантия прав работников, защита интересов компании и избежание судебных споров.

Несколько примеров из судебной практики:

  1. Организация не смогла предоставить полный комплект кадровой документации по запросу Минкультуры, сославшись на ее утрату.

Решение суда: компания была признана виновной в нарушении требований к хранению архивных документов и получила штраф в размере 200 000 рублей.

  1. Главный бухгалтер хранил документацию в подвальном помещении, которое подверглось затоплению. В результате бумаги оказались повреждены и были утилизированы.

Решение суда: организация оштрафована на 200 000 рублей.

  1. При проверке было выявлено отсутствие оригинала трудовой книжки, принятой на ответственное хранение — вместо него обнаружили подделку. Это свидетельствует о ненадлежащем хранении, повлекшем утрату документа.

Решение суда: назначен административный штраф в размере 44 000 рублей.

Как правильно хранить кадровые документы в организации

Работодатели могут хранить документы:

  • в бумажной форме — «по старинке», но с соблюдением условий хранения;

  • в электронной форме, если:

    • документ подписан усиленной квалифицированной электронной подписью (УКЭП);

    • формат хранения соответствует требованиям (например используется CAdES‑A, PDF/A);

    • обеспечена читаемость и доказуемость документа в течение всего срока хранения;

    • соблюден порядок перехода на ЭДО, включая согласие работника (если требуется).

На практике это означает: не всякий электронный документ с подписью юридически значим, особенно если речь о длительном сроке хранения.

Электронное хранение (КЭД)

К 2025 году многие компании уже полностью или частично перешли на кадровые электронные документы (КЭД). Правильное хранение кадровых документов — это баланс между соблюдением закона, защитой данных и удобством доступа.

Удобнее всего использовать систему электронного архива, где реализована интеграция с ЭДО, автоматический контроль сроков хранения и защита от изменений. Система должна обеспечивать:

  1. Целостность — документ нельзя изменить без следов;

  2. Доступность — сотрудники и проверяющие органы должны получить документ в разумные сроки;

  3. Проверяемость — подпись должна быть действительной в момент проверки;

  4. Долговременность — документы должны читаться даже через 50+ лет.

И тут встает вопрос: где всё это хранить? 

Хранение КЭД на собственных серверах

  • Получаем полный контроль.

  • Обязательно учитываем требования к ИТ‑инфраструктуре и защите: бэкапы, шифрование, отказоустойчивость.

Хранение КЭД в облаке (с внешним провайдером)

  • Не нужно заботиться об инфраструктуре, есть готовые решения с поддержкой ЭП

  • Провайдер должен соответствовать требованиям законодательства:

    • Хранить данные на территории РФ;

    • Иметь соответствующие лицензии ФСТЭК России, ФСБ России;

    • Обеспечивать долговременную проверку подписи.

С электронными подписями всё просто до тех пор, пока не пройдет 5–10 лет. Сертификаты устаревают, время подписи невозможно доказать. Задача архивного хранения же — обеспечить юридическую значимость документа на протяжении десятилетий.

Хранить документ 75 лет — значит обеспечить его доступность для чтения и проверки ЭП. Выход — внедрение стратегии миграции и переподписания:

  1. Регулярная проверка валидности ЭП;

  2. Добавление штампов времени и использование архивного формата (CAdES‑A);

  3. Переупаковка документа с новой подписью до истечения сертификатов;

  4. Хранение оригиналов + контрольных копий;

  5. Ведение журнала изменений.

Стандарты CAdES: надежная база для долгосрочного хранения

Форматы CAdES (CMS Advanced Electronic Signatures) предназначены для создания электронных подписей с учетом требований долгосрочного хранения и юридической значимости. Эти форматы основаны на спецификации CMS, но дополнены атрибутами, которые обеспечивают проверяемость подписи даже спустя годы. Основные уровни CAdES:

  • CAdES‑BES — базовый уровень, содержащий данные подписи и сертификат подписанта. Гарантирует подлинность и целостность, но без привязки ко времени (нет доверенной метки времени). Используется как основа для последующих уровней.

  • CAdES‑T — расширяет CAdES‑BES за счет добавления доверенного штампа времени, что позволяет доказать, что подпись была создана в конкретный момент времени.

  • CAdES‑X Long Type 1 — дополняет подпись полными данными о сертификатах и их статусе отзыва, а также временной меткой. Это дает возможность проверить подпись даже при утрате доступа к внешним источникам (ЦС, OCSP и др.). Если подпись сформирована действительным сертификатом, а спустя время он истек или был отозван, сам подписанный документ будет действителен (данные для проверки уже внутри).

  • CAdES‑A (Archival) — самый надежный уровень, предназначенный для архивного хранения. Включает все необходимые данные для повторной проверки подписи в будущем: штампы времени, сертификаты, CRL/OCSP‑ответы и расширения, обеспечивающие независимость от внешней инфраструктуры. Допускает добавление новых архивных меток по мере необходимости. Именно архивные штампы времени (archive‑time‑stamp), которые добавляются через заданные интервалы (например, каждый год), позволяют достичь проверки ЭП спустя даже 75 лет и более. С CAdES‑A решается проблема не только срока жизни сертификатов, но и в целом стойкости криптографических стандартов, которые могут устаревать и обновляться.

Каждый уровень расширяет предыдущий, это некая «матрешка». Использование CAdES‑A рекомендуется для хранения кадровых, бухгалтерских и иных юридически значимых документов на длительные сроки в соответствии с требованиями законодательства.

Как автоматизировать работу с архивными документами

В этом разделе мы рассмотрим, как внедрить собственный сервис для длительного хранения кадровых ЭДО (электронных документов), соответствующий требованиям законодательства. На примере решений КриптоПро Архив и КриптоАРМ Server покажем, как такие системы работают на практике. Важно понимать, что собственный архивный сервис не заменяет систему электронного документооборота (СЭД), а служит ее логическим продолжением, дополняя функции долговременного хранения.

КриптоПро Архив

Программный комплекс КриптоПро Архив разработан для централизованного хранения подписанных электронных документов с различными сроками хранения — от временного до постоянного. Решение полностью соответствует действующим нормам законодательства РФ в области юридически значимого ЭДО и ЭП.

Функциональные возможности:

  • Автоматическое повышение формата электронной подписи CAdES до уровня CAdES‑A, включая добавление архивных меток времени (архивных штампов);

  • Поддержка автоматического мониторинга и продления доказательной силы ЭП (электронной подписи);

  • Интеграция с внешними информационными системами через REST API и протокол JSON‑RPC;

  • Прием, верификация и передача контейнеров с ЭДО;

  • Контроль актуальности подписей и соблюдения сроков хранения.

Решение построено модульно: часть компонентов обязательна, остальные подключаются по мере необходимости в зависимости от архитектуры ИТ‑системы организации и объема документооборота:

Компоненты КриптоПро Архив (рисунок из Общего описания)
Компоненты КриптоПро Архив (рисунок из Общего описания)

Для каждого документа, отправленного на архивное хранение, создается контейнер. В контейнере кроме электронной подписи документ хранятся и метаданные (тип документа, сходная ИС, пользователь, владелец, сроки создания и уничтожения и так далее). 

Доступные REST‑методы для внешних информационных систем:

  1. Загрузка контейнера документа — передача метаданных, подписанного документа или отдельного файла и его ЭП.

  2. Поиск контейнеров — выборка по метаданным с получением списка идентификаторов контейнеров.

  3. Получение метаданных — предоставление ЭП в формате CAdES‑E-A и всей сопутствующей информации по номеру контейнера.

  4. Редактирование метаданных (за исключением автоматически генерируемых полей).

  5. Удаление документа — полное исключение документа по его идентификатору.

КриптоАРМ Server

КриптоАРМ Server — универсальное решение для автоматизации и интеграции криптографии в корпоративных информационных системах. Этот программный продукт предоставляет организациям гибкие и легко интегрируемые модули для безопасного выполнения криптографических операций в автоматизированном режиме. 

В состав решения входят:

  1. Набор библиотек (SDK) — готовые модули node.js для встраивания криптографических функций в существующие бизнес‑приложения.

  2. Сервис проверки подписи и формированием отчетов с простым REST API.

  3. Сервис по улучшению подписей до CAdES‑A с возможностью периодического добавления архивных меток.

Как реализовать собственный сервис архивного хранения при помощи КриптоАРМ Server

Давайте разберем, как реализовать собственный сервис архивного хранения с микросервисной архитектурой, поддержкой форматов CAdES и автоматическим обновлением доказательств подлинности с использованием КриптоАРМ Server.

Что нам нужно обеспечить и реализовать:

  1. Временное и постоянное хранение.

  2. Обновление доказательств.

  3. Интеграцию с внешней СЭД.

  4. REST API.

  5. Реагирование на статус документов.

  6. Безопасность и контроль.

В основе лежит набор микросервисов, написанных на Node.js. Каждый сервис изолирован, может масштабироваться независимо и имеет свое назначение:

1. Сервис приема документов

  • Принимает документ и подписи через REST API.

  • Создает «контейнер» и помещает задачу в очередь на проверку и усовершенствование.

2. Проверка подписи

  • Извлекает подпись и метаданные, проверяет цепочку сертификатов (OCSP или CRL).

  • Добавляет временную метку (TSP), обновляет подпись до CAdES‑A.

  • Сохраняет подпись и метаданные в хранилище.

3. Хранилище

  • Унифицированный интерфейс к разным хранилищам: внешнее или локальное.

  • Поддерживает версионирование и резервное копирование.

  • Хранит как исходные, так и усовершенствованные подписи.

4. Сервис отчетности

  • Возвращает статус подписи, сроки ее действия, хеши и метаинформацию.

  • Формирует отчеты для внешних систем.

5. Журналирование

  • Все действия пишутся в неизменяемый журнал.

  • Поддерживается экспорт журнала в CSV файл.

Цикл жизни документа

  1. Поступление: документ и подпись загружаются по API.

  2. Валидация: проверяется подпись, сохраняются метаданные.

  3. Усовершенствование: подпись переводится в формат CAdES‑A (улучшаем только действительную в момент проверки подпись).

  4. Хранение: запись в хранилище, расчет даты следующего обновления.

  5. Мониторинг: планировщик отслеживает сроки и инициирует повторное усовершенствование.

  6. Обновление: добавляется новый штамп (с заданным интервалом).

  7. Удаление: после истечения срока хранения документ может быть удален системой.

Стоит учесть:

  • Безопасность при обращениях, защита канала (TLS).

  • Поддержка ролевой модели и многоуровневой авторизации.

  • Резервное копирование и защита от НСД.

  • Размеры файлового хранилища (возможно динамическое расширение объема)

Такое решение может быть развернуто как в крупной организации, так и в облаке — с полным соблюдением требований законодательства.

Приведем примеры кода из сервиса по проверке подписи и улучшению стандарта с использованием КриптоАРМ Sever (с использованием модуля из SDK — trusted‑crypto).

Проверка подписи:

const verifySign = async ({
  cmsBuffer,
  dataBuffer,
  enhancedType,
}: {
  cmsBuffer: Buffer;
  dataBuffer: Buffer;
  enhancedType?: string;
}): Promise<CmsVerifyResult> => {
  const signs: any[] = [];
  let cms = loadCms({ cmsBuffer, dataBuffer });
  let cmsEnhanceBuffer = null;

  if (enhancedType) {
    cmsEnhanceBuffer = enhanceSign({ cms, enhancedType });
    cms.freeContent();
    cms = loadCms({ cmsBuffer: cmsEnhanceBuffer, dataBuffer });
  }

  const signers = cms.signers();

  for (let i: number = 0; i < signers.length; i++) {
    const signer = signers.items(i);
    const signProps = await getSignProps(signer);

    signProps["isValidSign"] = cms.verify(signer);
    signProps["extVerifyInfo"] = signer?.extVerifyInfo;

    if (cmsEnhanceBuffer) {
      signProps["cmsData"] = cmsEnhanceBuffer.toString("base64");
    }

    signs.push(signProps);
  }

  const data = cms.content.data.toString("base64");

  cms.freeContent();

  const isValidSign = signs.every((cert) => cert.isValidSign === true);
  const isValid =

    isValidSign && signs.every((cert) => cert.isCertChainValid === true);

  return {
    isValidSign,
    isValid,
    signs: signs.sort((a: any, b: any) => a?.signingTime - b?.signingTime),
    data,
  };
};

export const cmsVerify = async ({
  cms: cmsArrayBase64Str,
  data: dataBase64,
  enhancedType,
}: {
  cms: string;
  data?: string;
  enhancedType?: string;
}): Promise<CmsVerifyResult> => {

  try {
    const cmsArrayBase64 = cmsArrayBase64Str.split(",");
    const result = [];
    let dataStamp = undefined;
    
    for (const cmsBase64 of cmsArrayBase64) {
      const [cmsBuffer, dataBuffer] = [
        cmsBase64 ? Buffer.from(cmsBase64, "base64") : undefined,
        dataBase64 ? Buffer.from(dataBase64, "base64") : undefined,
      ];

      const { isValidSign, isValid, signs, data } = isPdfBuffer(cmsBuffer)
        ? await verifyPdfSign(cmsBuffer)
        : await verifySign({
            cmsBuffer,
            dataBuffer,
            enhancedType,
          });

      result.push({
        isValidSign,
        isValid,
        signs,
        data,
      });
    }

    const data = result[0].data;
    const isValidSign = result.reduce(
      (res, item) => res && item.isValidSign,
      true
    );

    const isValid = result.reduce((res, item) => res && item.isValid, true);
    const signs = result.map((item) => item.signs).flat();
    const buffer = Buffer.from(data, "base64");
    const isPdf = isPdfBuffer(buffer);

    if (isPdf)
      dataStamp = await getDataStamp({
        signs,
        buffer,
      });

    const report = await getReport({ isValid, signs });

    return {
      isValidSign,
      isValid,
      signs,
      data,
      dataStamp,
      report,
    };

  } catch (e) {
    let codeError = e?.message?.match(/0x[a-fA-F0-9]{8}/g)?.[0];
    if (/verify Content is empty/.test(e?.message)) codeError = "0x80091011";
    if (/Signature not found/.test(e?.message)) codeError = "0x10000001";

    let textError = "";

    if (codeError) textError = getTextErrorByCode(codeError);

    logError(cmsVerify ${e?.message || JSON.stringify(e)}, "", logContext);

    throw new HttpException(
      {
        message: textError  e.title  e.toString(),
        error: "Bad Request",
        statusCode: HttpStatus.BAD_REQUEST,
      },
      HttpStatus.BAD_REQUEST
    );
  }
};

Усовершенствование подписи:

const enhanceSign = ({
  cms,
  enhancedType,
}: {
  cms: trusted.cms.SignedData;
  enhancedType: string;
}): Buffer => {
  const connSettings = new trusted.utils.ConnectionSettings();
  connSettings.Address = TSP_SERVICE_ADDRESS;

  const cadesParams = new trusted.cms.CadesParams();
  const [enhancedTypeValue, signingTime] = enhancedType.split(":");

  cadesParams.cadesType = cadesTypeByValue(enhancedTypeValue);
  cadesParams.connSettings = connSettings;
  cadesParams.tspHashAlg = "1.2.643.7.1.1.2.2";
  cms.signParams = cadesParams;

  const signers = cms.signers();

  for (let i = signers.length - 1; i >= 0; i--) {
    if (
      !signingTime ||
      new Date(signers.items(i)?.signingTime)?.getTime() === Number(signingTime)
    )

      cms.enhanceSignature(i);

  }

  return cms.export();
};

Заключение: как избежать проблем и упростить кадровое хранение документов

Кадровые документы — это основа защиты прав работников и компании. Их правильное и своевременное хранение — не только требование закона, но и важный элемент информационной безопасности.

Как минимизировать риски и упростить процессы:

1. Внедрите внутренний регламент по архивному хранению документов.
Разработайте локальные нормативные акты, где будет четко указано:

  • какие документы, как и сколько хранятся;

  • в каких форматах;

  • кто ответственный за их сопровождение и уничтожение.

2. Используйте квалифицированную электронную подпись (УКЭП).
Для всех электронных кадровых документов применяйте ЭП в форматах CAdES‑X Long Type 1 или CAdES‑A.

3. Автоматизируйте хранение и контроль сроков.
Внедрите системы, которые:

  • классифицируют документы по срокам хранения;

  • автоматически уведомляют о завершении срока;

  • формируют акты об уничтожении или передаче.

4. Обеспечьте защищенное и резервируемое хранилище.
Выделите специализированный сервер с:

  • резервным копированием;

  • журналами доступа.

5. Периодически проводите аудиты.
Проверяйте соответствие хранилища, процедур и форматов текущему законодательству и новым требованиям.

Соблюдение регламентов архивного хранения — это инвестиция в защищенность и надежность кадрового учета. Организация, которая выстроила эффективную систему хранения, снижает риски утечек, штрафов, судебных споров и успешно проходит любые проверки.