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 Auditable Laravel Package

pharaonic/laravel-auditable

Laravel package that adds auditable traits to Eloquent models, automatically tracking create, update, and delete events with before/after diffs, user attribution, and configurable storage so every change is recorded and easy to review.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit pharaonic/laravel-auditable is a conventional Laravel package: a service provider, a publishable config file, a migration for an audits table, and an Eloquent trait applied to models you want tracked. This maps cleanly onto standard Laravel application architecture (model events → audit records), so it introduces no new paradigms, no external services, and no non-standard persistence layer. For a TPM, the fit question is less "does it work with Laravel" (it does) and more "does an in-app, Eloquent-event-driven audit trail satisfy our compliance/forensic requirement," versus an external log pipeline or a more established alternative (owen-it/laravel-auditing, spatie/laravel-activitylog).

Integration feasibility Low-friction: composer require, publish config and migrations, run php artisan migrate, add the trait to target models. Realistically a 1–3 day effort for a small model surface, dominated by deciding which models to audit and how to backfill, not by the package itself. The 1.1.5 change ("remove unneeded config") does not alter the integration steps, but it does mean any documentation or runbook referencing the removed config key needs to be reconciled before teams copy old snippets.

Technical risk The dominant risk is supplier risk, not technology risk. Pharaonic is a small, single-maintainer-style publisher with a much smaller community and release cadence than the Spatie/Owen-It alternatives; 1.1.x signals an early-maturity API. Secondary risks: (a) audit-table growth and query performance on high-write models; (b) audit writes coupling to model save paths, where an audit failure can surface as an application error; (c) a patch-level config removal is technically a breaking change for anyone who referenced that key — a semver hygiene signal worth noting. The change itself is trivial and low-blast-radius.

Key questions

  • Which specific compliance or forensic requirement does this satisfy, and does the alternative with a larger maintainer base meet it equally well?
  • Was the removed config key documented or referenced in our code/config overrides? If so, this patch is a breaking change for us.
  • What is the supported Laravel/PHP version matrix, and does it cover our current and next-upgrade targets?
  • What is the retention/archival policy for the audits table, and does the package support pruning?
  • Are audit writes transactional with the model write, or can they diverge on failure?

Integration Approach

Stack fit Standard Laravel + Composer + Eloquent; compatible with typical PHP 8 / Laravel 9–11 stacks (verify the package's composer.json constraints against our pinned versions before committing). No queue, cache, or external dependency required, so it slots into existing environments without infrastructure change.

Migration path Install → publish config/migrations → migrate → apply trait to a pilot model → validate audit output → roll out to remaining models. Backfilling historical state is not provided by the package and must be engineered separately if the requirement includes pre-existing records, so scope that explicitly.

Compatibility Treat 1.1.5 as a patch for planning purposes, but verify the removed config key is not present in our published config/auditable.php or referenced in application code. Pin the version in composer.json and use a lockfile; avoid floating constraints given the maintainer profile. Confirm Laravel-version support before scheduling an app framework upgrade, as small packages frequently lag.

Sequencing

  1. Confirm requirement and alternative evaluation; 2) verify config-key impact of 1.1.5; 3) pin version and install in a non-production environment; 4) pilot on one low-risk model; 5) define retention/indexing strategy; 6) roll out model-by-model; 7) document runbook and ownership. Do not parallelize rollout with a Laravel major upgrade.

Operational Impact

Maintenance Ongoing cost is low in engineering terms (occasional version bumps, config reconciliation) but carries the overhead of tracking a small upstream project. Assign a named owner; without one, audit functionality tends to silently degrade after the first upgrade cycle. The 1.1.5 config removal is a concrete example of maintenance drift to watch for.

Support Community/GitHub-issues support only; no commercial SLA. For anything touching compliance or audit evidence, that support posture should be an explicit, signed-off risk acceptance rather than an implicit assumption.

Scaling Audits tables grow proportionally to write volume and are the main scaling concern. Plan indexes on auditable type/id and timestamp, define a retention window, and decide whether audit writes belong on the request path or should be deferred. High-write models should be load-tested before broad rollout.

Failure modes

  • Audit write failure causing or masking model-save errors (transactional coupling).
  • Silent non-recording after config or trait changes — audit gaps are typically discovered during an incident, not before.
  • Unbounded table growth degrading read performance.
  • Config drift from the 1.1.5 removal causing runtime exceptions in environments with stale published config.
  • Upstream abandonment leaving the package incompatible with a future Laravel major.

Ramp-up Low for any Laravel developer — trait-plus-migration is idiomatic. The real ramp-up is organizational: agreeing what must be audited, who reads the trail, and how long it is retained. Budget more time for that policy definition than for the technical integration.

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.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
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