Skip to main content
VelinStyle v1.4.0
⌂ Home

Signals 1.4.0

Minimal local aggregates that feed deterministic policy; they are observations, never DOM mutations.

Signal contract

SignalShape / meaningPrivacy
viewport{ width, height }Local aggregate
prefersReducedMotionBoolean media preferenceLocal preference
prefersContrastmore / less / no-preferenceLocal preference
scrollDepth0…1 aggregateNo page text
ctaClicksCount per semantic roleNo target content
returnVisitBooleanNo cross-site identifier

Collection and flow

collectSignals() produces policy input. Signals → Policy → Intent → Validator → Guardrails → Semantic Apply → Audit / Undo.

Allowed and forbidden

AllowedForbidden
Viewport buckets, preferences, countsKeystrokes or form values
Short-lived in-memory aggregatesFull URL query PII or screenshots
Explicit host-provided overridesUnrestricted DOM serialization or tracking IDs

Limits

Signals do not select a mutation directly. Policy emits candidates, and every candidate still passes validation and guardrails.