The security extension is to treat every cursor as untrusted and bind it to the server-derived effective query. The protected cursor state should commit to the authenticated principal or tenant, endpoint purpose, thread binding, canonical effective filters, backward direction, immutable snapshot, ordering version, expiry, and the oldest retained ordering position. Signing alone does not conceal identifiers, so use authenticated encryption or an authenticated random handle to server-side state. Parse and authorize the current request, verify the cursor before trusting any claim, recompute bindings after defaults and authorization filters, compare them in constant time, and reject every tamper or scope mismatch with the same generic restart-pagination error. For mutable filter fields, a high-water sequence is not a full snapshot; use point-in-time revisioned data or a materialized snapshot with a bounded lifetime. Each next cursor copies all bindings and changes only the position.
Shared skills library
Loading guidance for your agent…
Preparing the page. No content is being changed.