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

Elastic Audit Laravel Package

tsitsishvili/elastic-audit

A Laravel package for Elasticsearch-backed audit logging. Capture Eloquent model changes and application events, store structured audit records in Elasticsearch, and search or analyze activity trails at scale with a simple, scalable setup.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Compliance and audit-trail roadmap commitments. If the roadmap includes SOC 2, HIPAA, ISO 27001, or GDPR accountability requirements, an Elasticsearch-backed audit log is a candidate building block. v4.2.0's schema health checks directly reduce the operational risk that mapping drift silently breaks the evidentiary record — the failure mode that turns an audit trail into a liability during an audit.
  • Build vs. buy for audit logging. The realistic alternative is not "build nothing" but "build it ourselves in a sprint or two." The decision hinges on whether the package's opinions (Elasticsearch as the store, its event model, its retention story) match ours. This release adds two things you would otherwise have to build and maintain: failure observability and schema validation.
  • Make-vs-adopt for the audit pipeline's own reliability. Audit failure observability is the most product-relevant line in this release. An audit system that fails silently is worse than no audit system, because it creates false assurance. If this ships meaningful signals (metrics, events, alertable failures), it removes a chunk of bespoke work from our reliability backlog.
  • Multi-service / multi-tenant attribution. Source identity suggests audit records can be attributed to the originating application, service, or actor context. That unlocks shared-cluster deployments and makes cross-service incident reconstruction feasible without a separate tagging layer — a real enabler if we run more than one Laravel app writing to the same indices.
  • Prioritization of audit-related customer commitments. Concrete ask from security/compliance stakeholders ("who changed this record, when, from where") becomes scoped against a known-capability set rather than an open-ended estimate.
  • Dependency hygiene as a minor signal. The Guzzle bump and Dependabot updates indicate active maintenance, which factors into the total-cost-of-ownership side of adoption but should not drive the decision on its own.

When to Consider This Package

Consider it when most of the following hold:

  • Elasticsearch (or an Elastic-compatible store) is already part of the platform. If it is not, adopting an Elasticsearch-backed audit log means introducing a whole datastore to satisfy one requirement — a large, hard-to-reverse infrastructure decision disguised as a Composer install.
  • You need application-level audit trails (who did what to which domain object), not infrastructure or database-level change capture, which is better served by CDC/log shipping or database-native auditing.
  • You are on a supported Laravel/PHP version matching the package's constraints — verify this against the composer.json before anything else; the release notes do not state it.
  • You have (or will build) retention, PII, and access-control policy for audit data. Audit logs frequently contain the most sensitive records in the system; encryption-at-rest, field redaction, and read access are your obligations, not the package's.
  • Volume is modest enough that per-event write cost to Elasticsearch is acceptable on the hot path. If audit writes are synchronous, model the latency impact on user-facing requests before committing.

Look elsewhere when:

  • Durability guarantees are contractual. Elasticsearch is a search/analytics store, not a write-once ledger. If the requirement is tamper-evidence, immutability, or non-repudiation, look at append-only stores, WORM storage, or a dedicated audit product. Nothing in these notes claims tamper-evidence — do not let a stakeholder assume it.
  • You need sub-second, guaranteed-delivery audit writes with formal delivery semantics. Treat the audit path as best-effort until proven otherwise.
  • Maturity signals matter more than features. This is a single-maintainer package (@tsitsishvili authored every functional PR). Assess bus factor, issue responsiveness, and whether you can vendor or fork it. Dependabot PRs are hygiene, not a support contract.
  • You want a managed/commercial audit service with SLAs, retention tooling, and compliance attestations. That is a different buy decision and should be evaluated separately.
  • The release notes are your only evidence. They are marketing-grade, not a changelog with migration notes. No breaking changes are listed, but "Source identity" is exactly the sort of change that can alter default record shape or require config updates. Treat the absence of a breaking-change callout as unverified, not as a guarantee.

How to Pitch It (Stakeholders)

For executives (one paragraph): A Laravel package that writes application audit logs to Elasticsearch, now at v4.2.0. The important additions are operational rather than functional: it can now surface its own write failures and check that its Elasticsearch schema is healthy. That matters because the main risk with any audit trail is silent failure — the system looks compliant until someone asks it a question it cannot answer. It is a credible candidate if we already run Elasticsearch and have a compliance driver; it is not a compliance product and comes with no tamper-evidence or SLA claims. Single-maintainer dependency; recommend a time-boxed evaluation against our requirements rather than adoption on feature list alone. Cost is low in engineering time, moderate in the operational obligations it creates (retention, PII handling, access control).

For engineering: Two things to verify before we commit. First, failure semantics — are audit failures observability-only, or do they affect delivery/retry? We need to know whether the audit path can drop records and how we would find out. Second, source identity — does it change the document shape, defaults, or require config/mapping migration? Read the diff on PR #17, not the release note. Also confirm Laravel/PHP version constraints, whether writes are sync or queued, and index/mapping lifecycle ownership (who creates and versions indices). Then run a short spike: instrument a non-critical flow, force a write failure and a mapping mismatch, and confirm both are visible in our alerting within one page. If that works, the reliability argument is real and we can scope the compliance use case on top of it.

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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console