PHP code example of ginkelsoft / laravel-data-breach-registry
1. Go to this page and download the library: Download ginkelsoft/laravel-data-breach-registry library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
ginkelsoft / laravel-data-breach-registry example snippets
use Ginkelsoft\DataBreachRegistry\Actions\BreachRegistry;
use Illuminate\Support\Carbon;
$registry = new BreachRegistry;
$breach = $registry->register(
reference: 'BREACH-2026-001',
discoveredAt: Carbon::parse('2026-05-27 09:15'),
description: 'Misdirected client export sent to wrong recipient.',
severity: 'high',
occurredAt: Carbon::parse('2026-05-27 08:50'),
dataCategories: ['name', 'email', 'order_history'],
subjectsAffected: 42,
cause: 'Operator selected the wrong recipient group.',
actor: '[email protected] ',
);
$registry->update('BREACH-2026-001', [
'mitigation' => 'Recipient confirmed deletion. Tokens revoked.',
'severity' => 'medium',
], actor: '[email protected] ');
$registry->reportToAuthority('BREACH-2026-001', notificationReference: 'AP-2026-9999');
$registry->reportToSubjects('BREACH-2026-001', channel: 'email');
$registry->contain('BREACH-2026-001');
$registry->resolve('BREACH-2026-001');
use Ginkelsoft\DataBreachRegistry\Support\BreachDeadlines;
$deadlines = new BreachDeadlines(warningWindowHours: 24);
$overdue = $deadlines->overdue(); // 72 hours passed, authority not notified
$approaching = $deadlines->approaching(); // deadline in the next 24 hours
use Ginkelsoft\ComplianceCore\Config\LogSecret;
use Ginkelsoft\ComplianceCore\Support\HashChain;
use Illuminate\Support\Facades\DB;
$entries = DB::table('breach_event_log')->orderBy('id')->get()
->map(fn ($row) => (array) $row)->all();
$intact = HashChain::verify($entries, LogSecret::value());
bash
php artisan retention:breach:register BREACH-2026-001 \
--description="Misdirected export" \
--severity=high \
--discovered="2026-05-27 09:15" \
--subjects=42 \
--categories="name,email"
php artisan retention:breach:list
php artisan retention:breach:list --status=open
php artisan retention:breach:show BREACH-2026-001
php artisan retention:breach:deadlines
php artisan retention:breach:deadlines --warning=48
bash
composer vendor:publish --tag=compliance-config
php artisan vendor:publish --tag=breach-config
php artisan vendor:publish --tag=breach-migrations
php artisan migrate