# Local demonstration workspace

The working local installation has a separate **Zentrik Demo Company** (`zentrik-demo`). All names, documents, financial amounts and employment events in that workspace are synthetic.

Sign in at <http://127.0.0.1:8000/login>:

| Account | Email | Workspace |
| --- | --- | --- |
| Company Admin | admin@zentrik.test | Zentrik Demo Company |
| Platform Super Admin | superadmin@zentrik.test | Platform dashboard, all tenants |

Passwords are generated independently during setup, stored as hashes in MySQL, and supplied privately to the operator. The local installation also keeps the requested credentials in `storage/app/private/local-demo-credentials.json`, excluded from Git and source releases. No password is hardcoded in the seeder.

MFA enrollment is optional for all accounts in every environment, including the demo accounts and Super Admin. Sign in with email and password unless you have enabled an authenticator. Enabled MFA still requires an authenticator or recovery code. Use Account security to enable or disable it after confirming your password. The former local-only MFA exception setting is no longer needed.

## Demo coverage

- Organization, branch, departments, positions and reporting chart.
- Eight employees, position assignments, salary contracts, a dependant and a custom employee field.
- Encrypted, antivirus-scanned sample documents with manually verified expiry dates; valid, soon-expiring and expired examples; open renewal cases.
- Published recruitment vacancy, three candidates, screening/interview history and a pending offer.
- Career, probation, policy, letter, performance, training and development approval items; onboarding and future exit clearance; a pending final settlement.
- Previous-month and current attendance, future rosters, leave balances, pending leave and HR requests.
- Previous-month calculated payroll submitted for independent approval, including a sample allowance. No bank file has been exported or payment made.
- IT assets, handovers, a vehicle and a verified driver licence. Vehicle assignment still requires the normal four legal evidence documents.
- A custom request form and an executable workflow with a pending task for the Company Admin.
- Branding, roles, notification templates, in-app notifications, reports and audit history.

The internal **Demo HR Maker** account creates independent approval requests. It has an undisclosed random password and no enrolled authenticator. Use the Company Admin account to review its pending requests.

Optional external integrations, SMTP, domains and cloud services are not configured. OCR remains disabled for the demo tenant and retains the per-client Super Admin switch. All database tables remain InnoDB.

## Reusing the fixtures on another local installation

This seeder is intentionally excluded from normal installation and upgrades. First migrate and install the normal module/plan catalog. Then explicitly supply distinct strong values for `ZENTRIK_DEMO_ADMIN_PASSWORD` and `ZENTRIK_DEMO_PLATFORM_PASSWORD` in the process environment and run:

```sh
php artisan db:seed --class=LocalDemoSeeder
```

It accepts only `local` or `testing` application environments. It refuses an existing `zentrik-demo` tenant or occupied demo emails, so a repeated invocation cannot reset test passwords or overwrite existing data. It uses a database transaction and the configured real malware scanner; unavailable scanning aborts fixture creation. Existing tenants and users are preserved.
