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

Doctrine Audit Bundle Laravel Package

kricha/doctrine-audit-bundle

A Symfony bundle that adds automatic audit trails to Doctrine entities. It captures insert, update, and delete operations, stores configurable change history and metadata, and helps you track who changed what and when without manual logging.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Compliance and audit-trail scoping. Whether "who changed this record, when, and from what to what" is a must-have for the next release or a deferred backlog item. Audit logs are the evidence layer behind SOC 2, ISO 27001, HIPAA, GDPR subject-access requests, and PCI DSS change-tracking controls; this package is a candidate implementation for that requirement.
  • Build vs. buy for change-data capture. The alternative is writing Doctrine lifecycle-event listeners (onFlush/PostFlush) plus a diffing and storage layer ourselves. This bundle is a reference point for estimating that build cost and deciding whether an off-the-shelf bundle is good enough.
  • Enterprise/regulated-segment go-to-market. A durable audit trail is often a gating feature for selling into finance, healthcare, and public-sector buyers. This feeds roadmap sequencing: is audit logging an enabler for a pricing tier, or table stakes for everyone?
  • Support and forensics capability. Reduces "why did this record change?" escalations by giving support and on-call engineers a queryable history instead of log archaeology.
  • Retention and data-lifecycle policy. Audit tables grow monotonically and contain historical PII. Adopting any audit mechanism forces explicit decisions on retention windows, archival, and PII redaction in historical rows.
  • Stack correction / discovery finding. Despite being framed as a Laravel/PHP package, this is a Symfony bundle built on Doctrine ORM. It does not apply to Laravel's Eloquent stack. Treat it as "not applicable to our Laravel services" unless we run Symfony/Doctrine components — in which case the build-vs-buy analysis below stands.

When to Consider This Package

Consider it only when all of the following hold:

  • The application is Symfony with Doctrine ORM as the write path for the entities in question.
  • You need entity-level create/update/delete history with old/new value diffs, fast, and want it in days rather than a quarter.
  • The consumers are internal: admin panels, support tooling, incident forensics, and lightweight compliance evidence.
  • You are comfortable owning the code. Signals here are weak: ~9 stars, zero dependents, last release February 2022, and no visible commercial backing. Plan for a fork-and-maintain posture and verify compatibility against your current PHP, Doctrine ORM/DBAL, and Symfony versions before committing.
  • Audit writes going through the same database transaction is acceptable (synchronous write amplification), rather than requiring async streaming to a separate append-only store.

Look elsewhere when:

  • You are on Laravel. Use a Laravel-native option (e.g., owen-it/laravel-auditing, spatie/laravel-activitylog) or build on Eloquent model events. This package is the wrong ecosystem.
  • You need tamper-evidence. Hash-chained records, WORM/immutable storage, or externally verifiable logs are not what an ORM-level bundle provides.
  • You need completeness guarantees. Writes that bypass the ORM — raw SQL, bulk imports, queue workers, direct DBA access — will not be captured, which is often exactly the traffic auditors care about.
  • Volume or latency is significant. Synchronous diff-and-insert on every flush is a real cost on hot tables; if that's a concern, favor event-streaming or CDC (Debezium-style) architectures.
  • You need vendor support, SLAs, or a security-response commitment. A near-single-maintainer project with no 2023+ releases is a supply-chain and patch-latency risk you must price in.
  • Fine-grained PII controls are required, such as per-field redaction rules, encryption of historical values, or consent-aware retention.

How to Pitch It (Stakeholders)

To executives: This is a small, MIT-licensed Symfony/Doctrine add-on that captures database change history automatically, which is the raw material for compliance evidence and "who changed this?" support answers. The strategic point is not the package itself — it's that audit logging is a gating capability for regulated buyers and a recurring support cost if we lack it. Recommendation: treat this as a low-cost proof of concept and a build-cost benchmark, not a long-term dependency. The maintenance signals are thin (single maintainer, last release 2022, negligible adoption), so any adoption implies a fork-and-own commitment, and it is not applicable to our Laravel services, where we'd use a Laravel-native equivalent.

To engineering: It hooks Doctrine's flush lifecycle and persists before/after diffs per entity, so integration is a config-and-migrate exercise rather than a new subsystem — which is precisely why it's worth an afternoon to evaluate. The caveats are concrete: it only sees ORM-mediated writes, it adds synchronous write cost proportional to change volume, and we inherit maintenance. Before adopting, spike it against our current Symfony/Doctrine/PHP versions, measure the write-path overhead on our busiest entity, and confirm the audit table design supports our retention and PII-redaction needs. If the spike holds, fork it under our org and pin the version; if it doesn't, we've still learned enough to scope an in-house listener in a fraction of the time.

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.
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus