- What is kyranb/footprints used for in a Laravel application?
- Kyranb/footprints is a lightweight in-app activity log for Laravel. You add traits to models, record footprints through a polymorphic relationship, and query activity history with familiar Eloquent syntax. It suits admin audit views, support workflows, and recent-activity feeds rather than event streaming or compliance-grade audit.
- How do I install kyranb/footprints?
- Install the package with Composer, publish its config and migration files, then run the migration. Add the package trait to the models you want to track and optionally enable request-context capture for IP address and user agent. The bigger task is deciding which models and events to record, not the installation itself.
- Does kyranb/footprints support Laravel 13?
- Version 3.2 is described as adding Laravel 13 support, but verify that the tag exists on Packagist and that CI is green across the supported PHP matrix. The 3.2 change is described as additive, with no breaking changes or schema migration for existing users. If you remain on Laravel 10, 11, or 12, 3.2 is effectively a no-op upgrade.
- How do I automatically record model activity with Footprints?
- Add the provided trait to each model that should be tracked. The trait hooks model events and writes footprint rows through the polymorphic relationship. Decide whether to record all events or only an allowlist, and standardise footprint type names early to keep queries predictable.
- How do I query a model's activity history with Eloquent?
- Because footprints are stored through a polymorphic relationship, each tracked model exposes its footprints relation. Use normal Eloquent methods such as latest, where, with, and eager loading to build recent-activity feeds or support screens. This keeps activity queries close to the rest of your application code.
- Can I record footprints manually without relying on model events?
- Yes, the package provides a facade for writing explicit footprint records. This is useful for actions that are not tied to model events, such as logins, exports, or custom domain workflows. Use manual records selectively so the activity log stays useful rather than noisy.
- Does Footprints capture IP addresses and user agents?
- Optional request-context capture through middleware can store IP addresses and user agents with footprints. Those values are personal data under GDPR and CCPA, so retention limits and access controls remain your responsibility. Enable capture only when the operational need justifies storing that data.
- Is kyranb/footprints suitable for compliance-grade audits?
- No, it is an in-app activity log rather than a tamper-evident audit platform. It does not provide hash chaining, immutable storage, or enforced retention policies. Use it for admin visibility and support workflows, and choose a dedicated platform if regulatory audit is the real requirement.
- How do I stop the footprints table from growing indefinitely?
- Every recorded event becomes a row, so an unpruned table will grow without bound and can affect backup and restore times. Add a scheduled retention or pruning job, archive older records if needed, and monitor row counts. Confirm whether the package documents a pruning command or retention config before relying on one.
- What production risks should I check before adopting Footprints?
- The package performs synchronous inserts on the request path, which adds latency and a failure surface to write endpoints. Verify whether insert failures propagate as exceptions or are silently dropped rather than assuming. Also treat it as a single-maintainer package: pin conservative constraints and lockfiles, and confirm the tagged release and support window.