Privacy - v1.0.0

Admin dashboard customization

The admin dashboard is mounted at admin/privacy (configurable) and is protected by the manage-privacy gate (configurable). It includes five tools:

Component Route Purpose
ConsentManager /admin/privacy/consents Filter, search, and revoke consents
DataRequestManager /admin/privacy/requests Review, approve, reject, or process requests
ComplianceReport /admin/privacy/reports On-screen reports with filtering
BreachManager /admin/privacy/breaches List + filter breaches
BreachDetail / BreachReportForm /admin/privacy/breaches/{id} and /new Manage individual breach records

Authorize the dashboard

Define the gate in AuthServiceProvider::boot():

use Illuminate\Support\Facades\Gate;

Gate::define('manage-privacy', function ($user) {
    return $user->is_admin || $user->hasRole('dpo');
});

Change the gate name:

// config/artisanpack/privacy.php
'admin' => ['gate' => 'view-privacy-admin'],

Change the URL prefix

'admin' => ['route_prefix' => 'tools/privacy'],

Customize the layout

php artisan vendor:publish --tag=privacy-admin-layout

The file lands at resources/views/vendor/artisanpack-ui/privacy/admin/layout.blade.php. Edit it to match your design system — extend your app layout, add your nav, etc.

React / Vue dashboards

Every admin Livewire component has a React + Vue equivalent under @artisanpack-ui/privacy/react/admin and @artisanpack-ui/privacy/vue/admin. They call the same admin JSON API (api/privacy/admin/*) so authorization is enforced server-side via the same gate.

import { ConsentManager, DataRequestManager } from '@artisanpack-ui/privacy/react/admin'

Disable the dashboard entirely

'admin' => ['enabled' => false],

(Useful if you're building your own admin against the JSON API.)