artisanpack-ui/privacy
Composer 安装命令:
composer require artisanpack-ui/privacy
包简介
Privacy and data protection toolkit for Laravel — consent management, data subject rights, and multi-regulation compliance (GDPR, CCPA, LGPD, PIPEDA).
README 文档
README
A comprehensive privacy and data-protection package for Laravel applications. Cookie consent, data subject rights (access / export / deletion / rectification), breach notification, multi-regulation support (GDPR, CCPA, LGPD, PIPEDA), and a built-in admin dashboard — with Livewire and React and Vue front-ends.
Highlights
- 🍪 Cookie consent banner + preferences UI in Livewire, React, and Vue
- 📋 Data subject rights workflow — verified, audited, optionally auto-processed
- 🌍 Multi-regulation engine — GDPR, CCPA out of the box; LGPD and PIPEDA toggles
- 📊 Admin dashboard — consent manager, request manager, compliance reports, breach manager
- 🛡 Breach notification — GDPR Article 33/34 authority + user templates
- 🧰 Artisan tooling —
privacy:install,privacy:scan,privacy:purge-expired,privacy:process-requests,privacy:report - ♻️ Policy management + re-consent flow when terms change
- 🔌 Event-driven — every consent change, request, and breach emits an event you can listen for
Requirements
- PHP 8.2+ for Laravel 10, 11, or 12
- PHP 8.3+ for Laravel 13
- Livewire 3 (optional — only required if you use the Livewire components)
Installation
composer require artisanpack-ui/privacy php artisan privacy:install
The install command publishes config, migrations, views, breach-notification templates, and the admin layout; runs migrations; seeds default consent categories; clears caches; and prints the admin gate stub plus next steps.
Non-interactive install (CI/CD)
php artisan privacy:install --no-interaction --force
React / Vue projects
Components live in the package and are importable through subpath imports:
// React import { CookieBanner, ConsentPreferences } from '@artisanpack-ui/privacy/react' import { ComplianceReport } from '@artisanpack-ui/privacy/react/admin' // Vue import CookieBanner from '@artisanpack-ui/privacy/vue/CookieBanner.vue'
The React/Vue components hit the same JSON API the Livewire components do, so back-end behavior (rate limits, validation, verification) is identical regardless of the chosen front-end.
See INSTALLATION.md for the full setup walkthrough.
Quick start
{{-- Drop the cookie banner into your main layout --}} <livewire:privacy-cookie-banner /> {{-- Render the privacy dashboard for the authenticated user --}} <livewire:privacy-dashboard /> {{-- Gate content on consent --}} @hasConsent('analytics') <script src="https://analytics.example.com/tracker.js"></script> @endhasConsent
use ArtisanPackUI\Privacy\Facades\Privacy; // Record consent programmatically Privacy::consent()->grant($user, 'analytics'); // Submit a data subject request on the user's behalf Privacy::dataRequests()->createExportRequest($user);
Documentation
- INSTALLATION.md — full setup including queue/scheduler wiring
- CONFIGURATION.md — every config key explained
- docs/ — feature guides and API reference
Feature guides
- Cookie consent setup
- Data subject rights
- Admin dashboard customization
- Multi-regulation setup
- View customization
- React / Vue integration
API reference
Artisan commands
| Command | Purpose |
|---|---|
privacy:install |
Publish assets, migrate, seed default categories, print gate stub |
privacy:scan |
Discover personal-data columns in your models |
privacy:purge-expired |
Withdraw or prune expired consents |
privacy:process-requests |
Auto-process pending access + export requests |
privacy:report |
Generate consent / request / breach compliance reports |
Schedule the recurring commands in bootstrap/app.php (Laravel 11+):
->withSchedule(function (Schedule $schedule): void { $schedule->command('privacy:purge-expired')->daily(); $schedule->command('privacy:process-requests')->daily(); $schedule->command('privacy:report --period=month --email=dpo@example.com') ->monthlyOn(1, '08:00'); })
Testing
composer test # full suite ./vendor/bin/pest tests/Feature/Console # one suite ./vendor/bin/pest --filter=cookie # one test
The package ships with 400+ Pest tests covering all services, models, Livewire components, Artisan commands, middleware, events, and listeners.
Upgrading
See UPGRADING.md for version-to-version migration notes.
Changelog
See CHANGELOG.md for release history.
Contributing
As an open source project, this package is open to contributions from anyone. Please read through the contributing guidelines to learn more about how you can contribute to this project.
License
MIT — see LICENSE.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-06-20