Audit

Плагин для Payload CMS, который ведет неизменяемый журнал аудита всех изменений в коллекциях.

Сообщество 4 410/нед MIT v1.3.0

Установка

pnpm add @trieb.work/payload-audit

Описание

payload-audit добавляет хуки afterChange и afterDelete в каждую коллекцию конфигурации Payload и записывает неизменяемую запись в коллекцию audit-logs для каждого создания, обновления и удаления. Одна строка конфигурации охватывает все коллекции, со списком исключений (disabledCollections) для тех, которые не нужно аудитить. Внутренние коллекции Payload (payload-jobs, payload-preferences, payload-migrations и другие) исключены по умолчанию, чтобы избежать шума и обратных связей. Созданная коллекция audit-logs запрещает создание, обновление и удаление через API. Записи добавляются только внутренними средствами плагина с параметром overrideAccess, поэтому журнал нельзя изменить или удалить пользователями. Каждая запись фиксирует автора (снимок email и имени, который сохраняется после удаления пользователя), идентификатор и название документа, тип действия, IP-адрес и user agent. Коллекции с поддержкой загрузок получают отдельные действия file_upload и file_delete вместо обычных create и delete. Плагин нацелен на требования к журентированию и подотчетности фреймворков NIS-2, CRA, GDPR, HIPAA, PCI-DSS 4.0, ISO/IEC 27001 и SOC 2. Опциональные метаданные для forensic-анализа захватывают стратегию аутентификации, HTTP-метод, путь запроса и необратимый отпечаток токена (`<prefix8>:<sha256(rest)>`), что позволяет сопоставить каждое действие с украденным учетными данными без сохранения исходного токена. Делегирование и impersonation следуют семантике RFC 8693 `act`, записывая, кто действовал от чьего имени через onBehalfOf и вложенный delegationChain. Удержание обеспечивается запланированной задачей Payload, которая регистрируется при установке maxAge (в днях) или maxEntries (количество записей), с настраиваемым cron и queue, либо флагом disableSchedule для ручного запуска. Мультитенантный режим добавляет отношение tenant к каждой записи, автоматически определяет поле тенанта в ваших коллекциях и взаимодействует с @payloadcms/plugin-multi-tenant. Экспортируемые хелперы writeAuditLog, resolveDelegation, extractTenant, resolveDocTitle и pruneAuditLogs позволяют создавать и управлять записями из пользовательских хуков и скриптов, а флаг контекста запроса skipAuditLog подавляет автоматическую запись, когда вы пишете свою собственную, более специфичную. Требуется Payload 3.x с адаптером MongoDB.

О пакете

Имя пакета
@trieb.work/payload-audit
Последняя версия
1.3.0
Размер
227 кБ
Лицензия
MIT
Загрузок в неделю
410
Последняя публикация
9 сент. 2026 г.

Ещё от trieb-work

Профиль автора

onpage for TanStack Start

Подключает плагин payload-onpage к сайту на TanStack Start, чтобы редакторы правили контент и смотрели черновики прямо на странице.

On-Page Editing

Встраивает редактирование Payload-страниц прямо в Next.js-фронтенд, сохраняет правки как черновики и выдаёт ссылки для предпросмотра.

On-Page React Editor

Добавляет на React-страницы Payload визуальный редактор: тулбары, панели и редакторы полей поверх отрисованной страницы.

Collaborative Comments

Добавляет комментарии на уровне документов и полей в админку Payload, с упоминаниями, email-уведомлениями, разрешением, мультитенантностью и фильтрацией по локали.

Dub

Плагин для Payload CMS для автоматического создания и управления короткими ссылками с использованием Dub.

Visual Editing

Плагин для Payload CMS 3.x добавляет на фронтенд оверлеи редактирования: клик по элементу открывает нужное поле в админке.