LearnConsent & Privacy

Consent & Privacy

How Hardal handles anonymous collection, consent signals, identity fields, and first-party cookies.

Hardal accepts anonymous events without a known user identity. When a request has neither granted consent nor a valid identity cache for the same tenant and source, the collection service removes userId and visitorId before processing the event.

When consent is granted, Hardal can keep the supplied identity fields and set a secure first-party cookie for visitor recognition. A later request may reuse that cache for the same tenant and source even when it omits an explicit consent signal. Your implementation is still responsible for deciding when consent is required and which fields it may send.

BehaviorWithout granted consentWith granted consent
Event collectionYesYes
Session groupingYes, when the sender reuses a session ID. The web tracker does this automatically.Yes
userId and visitorId processingRemovedKept when supplied
First-party visitor cookieNot written, or cleared by an explicit denialWritten by the collection service
Recognized visitor and consent-rate metricsNot increasedCan increase when a visitor ID is present

The tracker accepts two explicit consent values:

SignalWhat it means
grantedIdentity fields may be processed and the first-party visitor cookie may be set.
deniedEvents remain anonymous, identity fields are removed, and an existing identity cookie is cleared.

Without a signal, Hardal reuses a valid identity cache for the same tenant and source. If no matching cache exists, identity processing is denied.

Implementation responsibility

Use virgo.consent("granted") or virgo.consent("denied") when the visitor makes or changes a choice. Do not send personal or identifying fields until your own consent policy and applicable requirements allow it.

Consent Signals

Add the current consent signal to your web implementation.