# October 29, 2026: Passkeys, escalating expiration and history This update includes signing in to the panel with passkeys, without a password, and escalating expiration on the **Add to list** action. The history of rules and analyses now identifies the actions taken by an AI agent. ## Passkeys The new passkeys replace the password: the user signs in to the panel with the device's fingerprint, face recognition or PIN. Once a passkey is registered, the password is no longer accepted. At sign-in, the panel first asks for the email and then for the passkey or the password. For example, register one passkey on your laptop and another on your phone, under **Personal settings**, so you do not depend on a single device. See [Passkeys](/en/admin/passkeys/). ## Escalating expiration on lists The **Expires in** field, on the **Add to list** action, now accepts a sequence of expirations with `ladder()`. An index read during the run, such as the count of an analysis cell, picks the expiration. With each repeat offence, the value stays on the list longer. The new **Result** field publishes `%.added`, true only when the run put the value on the list. For example, if the `ip` cell of the `blocks` analysis counts the IP's earlier blocks, `ladder(%blocks.cells.ip.value, 1h, 4h, 16h, 2d)` keeps the IP on the list for 1 hour on the first block and for 2 days from the fourth onwards. See [Escalating expiration](/en/rules/actions/add_to_list/escalating_expiry/). ## History with the agent The **History** of rules and analyses now identifies the actions taken by an AI agent connected through MCP, with the user's name and the agent's, such as **Ana via Claude Code**. An action with no author appears as **System**. See [History](/en/rules/versioning/#history). ## Fixes - **Lists**: when a rule fired on a value already listed, the rule overwrote the item, erased the note and the author, and could shorten the expiration. An active item now keeps its note, author and the longer expiration. A permanent item stays permanent.