PHPackages                             silverstripe/auditor - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. silverstripe/auditor

ActiveSilverstripe-vendormodule[Security](/categories/security)

silverstripe/auditor
====================

Adds security audit trail to SilverStripe.

4.0.0(1y ago)10360.6k↓54.8%12[2 issues](https://github.com/silverstripe/silverstripe-auditor/issues)[1 PRs](https://github.com/silverstripe/silverstripe-auditor/pulls)5BSD-3-ClausePHPPHP ^8.3CI failing

Since Aug 22Pushed 7mo ago7 watchersCompare

[ Source](https://github.com/silverstripe/silverstripe-auditor)[ Packagist](https://packagist.org/packages/silverstripe/auditor)[ RSS](/packages/silverstripe-auditor/feed)WikiDiscussions 4 Synced 3d ago

READMEChangelog (10)Dependencies (8)Versions (64)Used By (5)

Silverstripe Auditor
====================

[](#silverstripe-auditor)

[![CI](https://github.com/silverstripe/silverstripe-auditor/actions/workflows/ci.yml/badge.svg)](https://github.com/silverstripe/silverstripe-auditor/actions/workflows/ci.yml)

Auditor module installs a series of extension hooks into the Framework to monitor activity of authenticated users. Audit trail is written into `LOG_AUTH` syslog facility through [Monolog](https://github.com/Seldaek/monolog/), and includes:

- Login attempts (failed and successful)
- Logouts
- Page manipulations that may potentially affect the live site
- Security-related changes such as Members being added to groups or permission changes.

Installation
------------

[](#installation)

```
composer require silverstripe/auditor
```

Custom audit trail
------------------

[](#custom-audit-trail)

You can add your own logs to the audit trail by accessing the `AuditLogger`, which is easiest done through the Injector:

```
use SilverStripe\CMS\Controllers\ContentController;

class MyPageController extends ContentController
{
    private static $dependencies = [
        'auditLogger' => '%$AuditLogger'
    ];
}
```

AuditLogger is guaranteed to implement the [PSR-3 LoggerInterface](https://github.com/php-fig/log/blob/1.0.2/Psr/Log/LoggerInterface.php), events can be logged at multiple levels, with arbitrary context:

```
public function dostuff()
{
    $this->auditLogger->info('stuff happened');
    // You can also pass an arbitrary context array which will be included in the log.
    $this->auditLogger->warn('stuff happened', ['defcon' => 'amber']);
}
```

Here is what will appear in the audit log on your dev machine (the exact format will depend on your operating system):

```
Aug 24 11:09:02 SilverStripe_audit[80615]: stuff happened [] {"real_ip":"127.0.0.1","url":"/do-stuff/","http_method":"GET","server":"localhost","referrer":null}
Aug 24 11:09:02 SilverStripe_audit[80615]: stuff happened {"defcon":"amber"} {"real_ip":"127.0.0.1","url":"/do-stuff/","http_method":"GET","server":"localhost","referrer":null}

```

Troubleshooting
---------------

[](#troubleshooting)

We are using a dynamically generated class for capturing database manipulation events. This class is cached, and in some cases it may retain an old, incorrect version of the class. You can wipe it by removing your cache, specifically the file called `//.cache.CLC.SearchManipulateCapture_SilverStripeORMConnectMySQLDatabase`.

Contributing
------------

[](#contributing)

Submitting a pull-request gives the highest likelihood of getting a bug fixed or a feature added.

###  Health Score

59

—

FairBetter than 98% of packages

Maintenance52

Moderate activity, may be stable

Popularity44

Moderate usage in the ecosystem

Community33

Small or concentrated contributor base

Maturity92

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~51 days

Recently: every ~0 days

Total

63

Last Release

429d ago

Major Versions

2.6.0 → 3.0.0-rc12023-03-30

2.6.1 → 3.0.12023-12-16

2.6.2 → 3.0.32024-01-31

2.x-dev → 3.1.22024-08-01

3.x-dev → 4.0.02025-05-01

PHP version history (4 changes)2.4.0PHP ^7.3 || ^8.0

2.5.0PHP ^7.4 || ^8.0

3.0.0-beta1PHP ^8.1

4.0.0PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/654636?v=4)[Aaron Carlino](/maintainers/unclecheese)[@unclecheese](https://github.com/unclecheese)

![](https://www.gravatar.com/avatar/b0cba8b534e20e6ab4fff555a97b237a18436ebca1446fc0b29c8a8b504038b9?d=identicon)[GuySartorelli](/maintainers/GuySartorelli)

![](https://avatars.githubusercontent.com/u/111025?v=4)[Ingo Schommer](/maintainers/chillu)[@chillu](https://github.com/chillu)

![](https://www.gravatar.com/avatar/a25bc04c5720a36869d5a39c6449dde7eb43e19b7c8e666d5f632d6a9ab440b1?d=identicon)[emteknetnz](/maintainers/emteknetnz)

![](https://www.gravatar.com/avatar/afbb3dcc9ef29c1a6eedd6addcae5fce9ab1271915a85a4c349301b71237368d?d=identicon)[silverstripe-machine01](/maintainers/silverstripe-machine01)

![](https://www.gravatar.com/avatar/be6648e60fbab6f70bfc34dd8c14259562d28a47510a934ea9c01fe98633f3c2?d=identicon)[sminnee](/maintainers/sminnee)

![](https://avatars.githubusercontent.com/u/1168676?v=4)[Maxime Rainville](/maintainers/maxime-rainville)[@maxime-rainville](https://github.com/maxime-rainville)

---

Top Contributors

[![GuySartorelli](https://avatars.githubusercontent.com/u/36352093?v=4)](https://github.com/GuySartorelli "GuySartorelli (50 commits)")[![emteknetnz](https://avatars.githubusercontent.com/u/4809037?v=4)](https://github.com/emteknetnz "emteknetnz (48 commits)")[![robbieaverill](https://avatars.githubusercontent.com/u/5170590?v=4)](https://github.com/robbieaverill "robbieaverill (45 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (16 commits)")[![mateusz](https://avatars.githubusercontent.com/u/118653?v=4)](https://github.com/mateusz "mateusz (8 commits)")[![sabina-talipova](https://avatars.githubusercontent.com/u/87288324?v=4)](https://github.com/sabina-talipova "sabina-talipova (5 commits)")[![NightJar](https://avatars.githubusercontent.com/u/778003?v=4)](https://github.com/NightJar "NightJar (4 commits)")[![ScopeyNZ](https://avatars.githubusercontent.com/u/3260989?v=4)](https://github.com/ScopeyNZ "ScopeyNZ (2 commits)")[![dnsl48](https://avatars.githubusercontent.com/u/9313746?v=4)](https://github.com/dnsl48 "dnsl48 (2 commits)")[![michalkleiner](https://avatars.githubusercontent.com/u/233342?v=4)](https://github.com/michalkleiner "michalkleiner (1 commits)")[![bergice](https://avatars.githubusercontent.com/u/541886?v=4)](https://github.com/bergice "bergice (1 commits)")[![axllent](https://avatars.githubusercontent.com/u/1463435?v=4)](https://github.com/axllent "axllent (1 commits)")

---

Tags

hacktoberfestsilverstripeAudit

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/silverstripe-auditor/health.svg)

```
[![Health](https://phpackages.com/badges/silverstripe-auditor/health.svg)](https://phpackages.com/packages/silverstripe-auditor)
```

###  Alternatives

[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.7k38.9k](/packages/matomo-matomo)[laravel/framework

The Laravel Framework.

34.8k543.8M20.1k](/packages/laravel-framework)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[flow-php/flow

PHP ETL - Extract Transform Load - Data processing framework

85036.3k](/packages/flow-php-flow)[illuminate/log

The Illuminate Log package.

6225.3M623](/packages/illuminate-log)[laravel/nightwatch

The official Laravel Nightwatch package.

36210.1M36](/packages/laravel-nightwatch)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
