Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Audit Laravel Package

jarek-paprocki/laravel-audit

Laravel Audit provides automatic model auditing for Laravel apps, tracking create, update, and delete events so you can see who changed what and when. It stores revisions and lets you review or revert changes.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy on audit trails. Any feature request of the form "who changed this record, when, and to what value?" can be answered with a composer require instead of a 2–6 week internal build. That decision frees engineering capacity for differentiating work and removes an entire class of bespoke, under-tested audit tables from your codebase.
  • Enterprise and compliance roadmap sequencing. A per-model change log is the concrete artifact behind SOC 2 / ISO 27001 change-management controls, HIPAA accounting-of-disclosures, and GDPR accountability evidence. Adopting this package can pull "we can pass a security questionnaire" forward by a quarter and unblock deals that stall in procurement review.
  • Monetization and packaging. Audit history is a credible gate for an Enterprise/Admin tier (retention windows, export, SIEM forwarding, per-tenant isolation of logs) rather than a core feature everyone gets. It also supplies the data for a customer-facing activity feed or "history" tab that increases stickiness in collaboration and record-keeping products.
  • Support and incident-response tooling. Enables "what did this record look like before the bad deploy / bad actor / bad import?" investigations without restoring production backups. Reduces MTTR on data-corruption incidents and shortens support escalations that currently end in "we can't tell what changed."
  • Data-governance policy decisions. Forces the team to decide — explicitly, in writing — retention periods, PII handling inside audit payloads, who can read the log, and whether hard deletes are traceable. Those are product/legal decisions, not implementation details, and this package makes them cheap to enforce consistently across models.
  • Migration and QA confidence. Useful in shadow-mode rollouts: diffing audited state against a legacy system or a new write path gives you a measurable correctness signal before cutover.
  • Use cases where it pays off fastest: multi-tenant B2B SaaS with admin impersonation, financial/ledger-adjacent records, order and inventory mutations, HR and permissions changes, and any product where a customer has ever asked "who changed this?"

When to Consider This Package

Adopt when:

  • The application is Eloquent-centric Laravel and the vast majority of writes go through models — that is the precondition for the coverage you are promising.
  • You need model-level attribution (user, IP, URL, timestamp, old/new values) and are satisfied with "good and consistent," not "cryptographically provable."
  • A small team needs compliance evidence now and can accept an MIT-licensed dependency over an internal subsystem.
  • Write volume is moderate and the primary store (MySQL/Postgres) can absorb a second write per mutated model, ideally via queued/async persistence.
  • You want per-model opt-in configuration and multiple storage drivers without building an abstraction layer.

Look elsewhere or extend when:

  • Writes bypass Eloquent — raw SQL, bulk imports, queue workers, another service, or a data warehouse. Model-level observers cannot see those, so a CDC/Debezium or database-trigger approach is the honest answer.
  • You need tamper-evident retention: hash chaining, WORM storage, or shipping to an append-only external sink (S3 Object Lock, a SIEM, an immutable log service). This package records; it does not notarize.
  • Audit volume would dominate your database. At high write throughput, audit rows can outgrow business rows several-fold — model the storage and retention cost before committing, and plan partitioning or off-box storage.
  • You need event sourcing or full CQRS rather than a change log. Retrofitting audit records as an event stream rarely ends well.
  • Field-level PII redaction, per-tenant encryption, or data-residency constraints are hard requirements from day one; verify the driver and payload controls actually satisfy them rather than assuming.
  • Diligence flag: the package identifier and the linked repository do not match, and the dependent count in this dataset is zero, which is inconsistent with a 3.4k-star project. Before adoption, confirm the canonical vendor, current maintainer activity, Laravel-major compatibility, and the upgrade path. Treat abandonment risk as a real line item and keep the audit table schema under your own control so a swap-out is a driver change, not a migration.

How to Pitch It (Stakeholders)

To executives: This is a small, MIT-licensed dependency that gives us a complete record of who changed what in our application data, and when. It is the mechanism behind the audit-trail answers that enterprise security reviews and compliance audits ask for — work we would otherwise scope as a multi-week internal build. Cost is a composer dependency plus storage; the upside is fewer stalled deals, faster incident triage, and a natural hook for an Enterprise-tier retention and export offering. It is not a compliance certificate by itself: legal and security still own retention policy, access control to the log, and whether we need tamper-evidence — but this delivers the data those controls operate on.

To engineering: One package, Eloquent-native, opt-in per model, configurable storage driver, no schema surgery on your business tables. You get old/new value diffs and request context (actor, IP, URL) without writing observers per model. The honest caveats: every audited write becomes at least two writes, so plan for async persistence and a retention/partitioning strategy; it only sees writes that go through Eloquent; and we should own the audit table schema and pin the version so an upstream change or abandonment is a driver swap rather than a data migration. Recommended pilot: two high-value models, one quarter, measure write overhead and storage growth before rolling out broadly.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
roundly-consulting/kubernetes-api-for-laravel
roundly-consulting/plausible-for-laravel
gvp/gvp-laravel-template
metasyncsite/laravel-metasync-client
roundly-consulting/onboarding-for-laravel
andydefer/laravel-notification
adachsoft/cli-process-tester
jhaskell13/laraflow
sebastienheyd/boilerplate-media-manager
ccast/tagixo-primix
pretendtrue/laravel-builder
sawmainek/laravel-scout-tntsearch-driver
tomshaw/laravel-calendar-table
dibakar/laravel-ownership
steadrun/laravel-monitor
labyrinthe/connect-laravel
elmogy/layan
drewdan/sentinel-client
dskripchenko/laravel-llm
fatryst/nuonuo