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
Audit Trail Bundle

Audit Trail Bundle Laravel Package

rcsofttech/audit-trail-bundle

A Laravel/PHP bundle for automatic audit trails: tracks model create, update, and delete events with the user, timestamp, and changed values. Simple config, queryable history, and compliance-friendly logging for teams that need to know who changed what, when.

View on GitHub
Deep Wiki
Context7

A Symfony bundle for teams where audit is infrastructure, not just history.

Frequently asked questions about Audit Trail Bundle
Is rcsofttech/audit-trail-bundle a Laravel package?
No. Despite being described as a Laravel/PHP bundle in some listings, it is a Symfony bundle that registers through Symfony's bundle system and hooks into Doctrine ORM event listeners. None of those integration points exist in a standard Laravel application. If your runtime is Laravel with Eloquent, treat this as a reference architecture rather than a dependency.
Can I install rcsofttech/audit-trail-bundle with Composer in a Laravel app?
Not without pulling Doctrine ORM into your application through a bridge such as laravel-doctrine, which is a large and invasive change to make for an audit feature. The package expects bundle registration, a DI extension and config tree, and Doctrine unit-of-work listeners. The realistic adoption path is a Symfony service that already uses Doctrine, where installation is low friction: Composer install, register the bundle, wire the listener, configure transport.
What does rcsofttech/audit-trail-bundle actually do?
It automatically records model create, update, and delete events along with the acting user, a timestamp, and the changed values. Its design uses split-phase capture: a cheap in-request snapshot of changes is taken, then the write is decoupled from the request path via HTTP, queue, or Doctrine transport. That separation is the part worth studying if you are building audit writes that must not add latency.
Does it work with Eloquent models?
No. Change detection and masking hang off Doctrine's unit-of-work and property metadata, so the coupling is structural rather than a thin adapter. Any assumption that you can swap Eloquent in later is false. For Laravel you would need a native implementation rather than a wrapper.
What Laravel packages should I use for audit trails instead?
For model-level diffs, owen-it/laravel-auditing is the established choice; for event-level activity logging, spatie/laravel-activitylog is widely used. You can then implement the two ideas this bundle gets right yourself: queued audit writes so logging stays off the request path, and a masking layer with per-field policy. That combination gives you Laravel-native behaviour without a Doctrine dependency.
How does the sensitive-data masking work and can I reuse it?
Masking is the highest-value differentiator in the bundle, but it is also the piece most tightly coupled to Symfony and Doctrine property metadata. Before relying on it, confirm that anonymizers are pluggable (regex, hash, redact) and that per-field policy config exists with fail-closed behaviour for unclassified fields. Reusing it outside Symfony means porting the policy logic, not calling it as-is.
Is rcsofttech/audit-trail-bundle production-ready?
Ecosystem validation is currently weak: roughly 123 stars, zero public dependents, and a low composite score, which means there is no way to inspect real-world schema evolution or upgrade pain. It is a single-org package with no visible commercial backing or SLA, though the MIT licence gives you fork rights as a mitigation. Treat enterprise-grade claims as marketing until you run your own test harness against it.
What happens if the audit store is unavailable — does it fail open or fail closed?
This is not clearly documented, and it matters: fail-open drops the audit record but keeps the request, while fail-closed blocks the write when the sink is down. Ask the maintainer whether the behaviour is configurable per transport. For compliance-sensitive teams, pair that answer with retention and erasure support such as TTL pruning and partitioning before committing.
Can I fork the capture layer and port it to Laravel?
It is feasible but non-trivial. The split-phase capture logic is the transferable asset; the Symfony config and DI shell is throwaway, so expect meaningful rework rather than a thin wrapper. Someone internally must own the fork, because there is no upstream Laravel support to lean on.
What versions does it support and how stable is the API?
The supported matrix is not clearly stated, so confirm the PHP floor, Symfony 6 and 7 support, and whether Doctrine ORM 2.x versus 3.x and which DBAL versions are covered. An opportunity score in the high twenties suggests the surface area is still moving, so pin versions aggressively. Also ask about SemVer discipline, changelog quality, deprecation runway, listener recursion guards for audit writes, and published test coverage.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo