## Problem API keys are permanent until manually revoked. There is no expiration, rotation workflow, or key lifecycle management. ## Action - Add optional TTL/expiration to API keys - Implement key rotation workflow (create new key, grace period, revoke old) - Add `last_used_at` tracking for keys to identify stale credentials - Consider scoped API keys (read-only, specific KGs only) --- *Generated from production readiness audit*
Activity
jsam commentedon Oct 1, 2026
Keys are (label, hash, owner) with create, list and revoke only. Scope:
.apikey create, enforced in authenticate_api_key..apikey list.Scoped keys and revocation that ends live sessions are tracked separately.
feat(auth): API key expiry, rotation grace period and last-used tracking