# XWUIAuthKeyAdmin

An admin UI for generating HSK encryption reference keys, mirroring KEYSTONE's `/keys` view: a generate form (key name, company, owner, email, key size, duration) above a sortable grid of existing keys (name, size, owner, created, expires). The form is built from `XWUIInputText` + `XWUIButton`, the list from `enterprise/XWUIDataGrid`; it validates the request locally and hands a `{ name, company, owner, email, key_size, duration_days }` body to `onGenerate()` (the host wires this to `keys.create`). `setKeys()` refreshes the grid, and `defaultKeySize`/`defaultDurationDays` seed the form.

## Basic Usage

A keys admin seeded with three existing keys (exonware-prod, exonware-staging at 4096 bits and demo-tenant at 2048 bits), default company/owner/email values, a 4096-bit / 365-day generate form, and an `onGenerate` handler logging the request.

```example
file: examples/BasicUsage.ts
html: examples/BasicUsage.html
title: Basic Usage
description: An HSK key admin with three pre-loaded keys and a generate form defaulting to 4096-bit, 365-day keys.
```

## Read-only Audit

A compliance inventory with the generate form hidden, surfacing only the sortable grid of existing keys (including an expired one).

```example
file: examples/ReadOnlyAudit.ts
html: examples/ReadOnlyAudit.html
title: Read-only Audit
description: Five reference keys (one expired, one legacy 1024-bit) shown as a list-only audit grid with showGenerateForm off.
```

## Tenant Onboarding

A partner-sandbox provisioning view with the form pre-seeded for one tenant and defaulting to short-lived 2048-bit, 90-day keys.

```example
file: examples/TenantOnboarding.ts
html: examples/TenantOnboarding.html
title: Tenant Onboarding
description: A generate form pre-filled with a tenant's company/owner/email, defaulting to 2048-bit, 90-day sandbox keys.
```

```api
```
