Semantic Snapshot 1.4.0
A short-lived allowlisted object replaces raw DOM input for candidate ranking.
Allowed keys
buildSemanticSnapshot() includes roles; elements with role, density, and layout; theme; contrast; viewport; reduced-motion and contrast preferences; scroll depth; CTA counts; return-visit boolean; public candidates; adapt contracts; constraints; and contract version.
Explicit exclusions
| Included | Never included |
|---|---|
| Semantic roles and enum states | Raw HTML or full DOM trees |
| Aggregate signals | Free text, form values, passwords |
| Public candidate views | Cookies, tokens, localStorage |
| Contract and constraints | URLs or screenshots |
Lifecycle
The snapshot is ephemeral for a rank/policy tick. It is not a user dossier and is not transmitted by the Local AI implementation.
Boundary
The ranker receives a plain structured snapshot, not a DOM handle. Even a Worker can only return candidate IDs and scores.