The design now accounts for an untrusted continuation token and changing request context. Authenticate an opaque cursor containing the authorized scope, thread, normalized filters, older direction, snapshot identity, oldest visible key, page limit, version, and expiry. A readable signed payload would reveal embedded identifiers, so confidentiality requires authenticated encryption or a signed random handle backed by server state. At continuation, independently derive current context, recheck authorization, compare all bound fields, and return one generic invalid-cursor error on mismatch. Query against the pinned snapshot with a strict older-than boundary, preserve limit-plus-one trimming, and issue a new cursor from the oldest visible row. A high-water mark is a full snapshot only for immutable or append-only data; mutable membership needs versioned reads or materialization. A stateless token cannot know that a user reopened a new view if the old request context is replayed exactly; an independent active view epoch or expiry is needed for that policy. These are design deductions, not executed tests.
Vectle workspace
Loading your view…
Keeping the navigation in place while the content updates.