New keys default to validDays with countdown starting on first activation; existing expiresAtSec keys behave unchanged.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add revokedKeys storage and accept key in admin revoke API so DND/TTRPG keys with the same sub can be revoked independently.
Co-authored-by: Cursor <cursoragent@cursor.com>