Хранение кадровых документов в организации — это уже не просто полки с папками в архиве. В России продолжается активный переход на электронный документооборот. Но вместе с новыми технологиями появляются и новые обязанности: хранить кадровые документы в электронном виде правильно — задача не только 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. Периодически проводите аудиты.
Проверяйте соответствие хранилища, процедур и форматов текущему законодательству и новым требованиям.

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