Download the PHP package polysource/audit without Composer
On this page you can find all versions of the php package polysource/audit. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download polysource/audit
More information about polysource/audit
Files in polysource/audit
Package audit
Short Description Polysource — audit log for non-Doctrine actions: AuditEntry VO, fan-out logger interface, browsable AuditLogResource, GDPR Art. 30 CSV export, retention command.
License MIT
Homepage https://github.com/polysource/polysource
Informations about the package audit
polysource/audit
GDPR Art. 30 / HIPAA audit trail for Polysource admin actions.
Part of the Polysource monorepo. MIT-licensed.
When to use
You're running a regulated workload (healthcare, finance, B2B SaaS) and need a write-only, queryable log of every admin action: who did what, when, from where, with what outcome.
What it ships
AuditEntryVO +AuditOutcomeenum +AuditActorInterface(SymfonySecurityAuditActordefault impl).AuditLoggerInterface(write-only) with fan-out viaAggregateAuditLogger.DoctrineAuditLogger+ Doctrine entity (polysource_audit_logtable with 3 indexes for Art. 30 queries).ActionAuditSubscriber— bridgesActionAboutToExecuteEvent/ActionExecutedEvent(dispatched bypolysource/symfony-bundle) to the logger. UUID v7 per entry, IP/UA/RequestID in context, trace truncated to 8KB.EasyAdminAuditSubscriber— optional bridge that audits EA CRUD edits (Edit / New / Delete on Doctrine entities). Auto-wired wheneasycorp/easyadmin-bundleis installed (gated onclass_exists); inert otherwise.AuditLogResource— browsable admin resource with 5 standard filters (time range, actor, outcome, action name, resource).ExportAuditCsvAction— GDPR Art. 30 export with 12 locked columns (RFC 4180), gated onPOLYSOURCE_AUDIT_EXPORT.polysource:audit:purge --before— retention command with cutoff exclusive,--dry-run, exit codes.
See ADR-020.
Install
polysource/audit declares doctrine/orm and doctrine/dbal as hard runtime dependencies. The bundled persistence layer (DoctrineAuditLogger, AuditEntryRecord, AuditLogDataSource, PurgeAuditCommand, ExportAuditCsvAction) imports Doctrine at compile time, so installing this package without Doctrine would fatal at autoload. If your host already runs Doctrine for any other reason — most Symfony apps do — the cost is zero. If you need the contracts without Doctrine, depend on polysource/core directly and ship a custom AuditLoggerInterface implementation; only the storage layer is Doctrine-coupled.
Register the bundle:
Run the migration to create polysource_audit_log.
Extend it
AuditLoggerInterface is 1 method (log(AuditEntry $entry)). To pipe events to Splunk, Datadog, OpenSearch, or any SIEM:
The AggregateAuditLogger fan-outs across every tagged logger with try/catch isolation — Splunk timing out doesn't break the Doctrine write. See extensibility map.
Documentation
All versions of audit with dependencies
doctrine/dbal Version ^3.6 || ^4.0
doctrine/orm Version ^2.20 || ^3.0
polysource/core Version ^0.1 || ^0.2 || ^0.3 || ^0.4 || ^0.5 || ^0.6 || ^0.7 || ^0.8 || ^0.9 || ^0.10 || ^0.11 || ^1.0
polysource/symfony-bundle Version ^0.1 || ^0.2 || ^0.3 || ^0.4 || ^0.5 || ^0.6 || ^0.7 || ^0.8 || ^0.9 || ^0.10 || ^0.11 || ^1.0
psr/log Version ^1.0 || ^2.0 || ^3.0
symfony/config Version ^6.4 || ^7.0 || ^8.0
symfony/dependency-injection Version ^6.4 || ^7.0 || ^8.0
symfony/event-dispatcher Version ^6.4 || ^7.0 || ^8.0
symfony/http-foundation Version ^6.4 || ^7.0 || ^8.0
symfony/http-kernel Version ^6.4 || ^7.0 || ^8.0
symfony/uid Version ^6.4 || ^7.0 || ^8.0