Simple personal certificate management and automated renewal reminders.
https://certified.env0.nl
|
|
||
|---|---|---|
| .claude | ||
| .github | ||
| app | ||
| bootstrap | ||
| config | ||
| database | ||
| lang | ||
| public | ||
| resources | ||
| routes | ||
| storage | ||
| tests | ||
| .editorconfig | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| .npmrc | ||
| artisan | ||
| boost.json | ||
| composer.json | ||
| composer.lock | ||
| package-lock.json | ||
| package.json | ||
| phpstan.neon | ||
| phpunit.xml | ||
| pint.json | ||
| README.md | ||
| vite.config.js | ||
Certified
Certified is a self-hosted certificate manager built on Laravel 13, Livewire 4, and Flux. It helps you keep track of certificates (diplomas, licenses, compliance documents, etc.), organize them into categories, and get notified before they expire.
Features
- Certificate management — upload, edit, and download certificates, organized by category
- OCR extraction — automatically read certificate details on upload via a pluggable OCR backend (Klippa, Mistral, or none)
- Expiry notifications — email alerts when a certificate is expiring soon or has expired
- Secure sharing — share a certificate with an external recipient via a signed URL, without requiring them to log in
- Multi-language support
Stack
- Laravel 13 (Octane-ready)
- Livewire 4 + Flux UI
- Tailwind CSS 4 / Vite
- Laravel Fortify for authentication
Getting started
composer install
npm install
cp .env.example .env
php artisan key:generate
php artisan migrate
npm run dev
# in another terminal
php artisan serve
Testing
composer test
OCR providers
The OCR backend is configurable via app/Ocr. Available providers: NoneProvider (disabled), KlippaProvider, and MistralProvider. Configure credentials in .env.