liberusoftware/audit
Audit logging for Laravel: automatically track model creates, updates and deletes, record the user and request context behind every change, and query a clean history of who changed what and when. Integrates with Eloquent and keeps an immutable trail for compliance and debugging.
Architecture fit: The package appears designed as a Laravel audit module with actor, tenant, request, and correlation awareness plus export and retention boundaries. That fits Laravel applications that need material-change auditing across multi-tenant domains, but it is not a drop-in compliance platform. Fit depends on how the application resolves actors and tenants, how requests and queued jobs propagate correlation IDs, and whether audited changes are already emitted through Eloquent events, domain events, or service-layer commands.
Integration feasibility: Feasible for a standard Laravel stack if the package provides service-provider registration, publishable config/migrations, middleware, model/event hooks, and export/retention jobs. The TPM should treat integration as a small platform project rather than a composer-only change: schema review, tenancy isolation, actor resolution, correlation propagation, retention policy, export format, and failure semantics all require explicit decisions.
Technical risk: High relative to the package’s maturity signals: 0 stars, 0 dependents, overall score ~19.8, and a last-release date of 2026-10-27 that appears anomalous against the assessment date. There is no visible community validation, compatibility matrix, or dependent ecosystem. Key risks include audit write amplification, synchronous latency, queue loss or duplication, tenant data leakage, actor misattribution, PII/secret capture, weak tamper-evidence, retention-job failure, and migration/rollback complexity for append-only audit tables. MIT licensing reduces lock-in but does not remove the need for internal ownership.
Key questions: Which Laravel and PHP versions are supported? Which databases and queue backends are validated? How are actor and tenant resolved across web, API, CLI, and queued jobs? How is correlation ID propagated across jobs and external calls? Are audit records immutable or tamper-evident? What are the export formats and retention/legal-hold semantics? Does an audit-write failure fail open or fail closed? Are migrations reversible and safe on large tables? Is there a security review, maintainer commitment, and release process?
Stack fit: Best fit is a modern Laravel application using standard auth guards, request middleware, queues, and a relational database, especially where multi-tenant isolation and material-change auditing are already requirements. Poor fit for non-Laravel PHP, legacy frameworks, or applications without clear tenant/actor resolution. The package should be evaluated as an audit subsystem, not just a logging library.
Migration path: Start with a sandbox or low-risk service. Install via Composer, publish and review config/migrations, create audit tables in a non-production environment, wire middleware and resolver configuration, instrument one bounded domain aggregate, run export and retention jobs against synthetic data, then dual-run against the existing audit/logging approach before cutover. Avoid a big-bang migration of historical audit data until schema, retention, and export semantics are proven.
Compatibility: Validate Laravel/PHP support, database engine, queue driver, tenancy package, auth guards, and Octane/worker behavior. Check migration conflicts, index and partitioning strategy, timezone handling, and how the package behaves with soft deletes, bulk updates, and database transactions. If the application uses a non-standard tenancy model, confirm tenant scoping at write and export time.
Sequencing: 1) architecture and security review; 2) sandbox install and compatibility test; 3) schema/config/tenant/actor/correlation setup; 4) instrument one domain; 5) validate export, retention, and failure modes; 6) add observability and runbooks; 7) pilot in production with limited scope; 8) expand only after audit integrity and operational behavior are proven.
Maintenance: Expect internal ownership. The package has minimal community signal, no dependents, and an unusual release-date signal, so the team should pin versions, monitor upstream activity, and be prepared to fork or vendor if maintenance stalls. Audit schema changes and retention policies need normal change-management controls.
Support: Community support is likely thin. MIT licensing permits modification, but that shifts burden to the internal team. Confirm maintainer responsiveness, issue triage, security disclosure process, and whether the organization can support the module through Laravel upgrades.
Scaling: Audit volume can grow faster than business data. Synchronous audit writes may add latency to material changes; asynchronous writes require queue capacity, retry policy, idempotency, and dead-letter handling. Retention and export jobs can create database load, so indexing, partitioning, archival storage, and tenant-scoped queries should be designed before broad rollout.
Failure modes: Audit writes may block or silently miss material changes; queues may back up or drop events; correlation IDs may be lost across jobs; actor or tenant attribution may be wrong; retention jobs may fail and create compliance exposure; exports may leak cross-tenant data; and migrations may lock large tables. Define fail-open versus fail-closed behavior per audit class before production use.
Ramp-up: Ramp-up is moderate for Laravel engineers but requires additional compliance, security, and data-governance context. The team needs onboarding on resolvers, correlation propagation, export formats, retention/legal hold, and operational runbooks. A limited pilot is appropriate given the package’s low adoption and maturity signals.
How can I help you explore Laravel packages today?