Data Privacy in Frontend Observability
Grafana Faro Web SDK powers Frontend Observability and is configurable to match your data privacy needs.
Privacy considerations
Faro has a privacy-friendly design.
Collection of user data
Faro doesn’t collect any personal data by default.
However it’s possible to collect personally identifiable information unintentionally, therefore consider what user information you store.
If you intend to use this feature, ensure you have collected user consent in a way that complies with your data privacy framework.
To learn more about how to identify users, consult the user meta architecture documentation.
Cookies
Faro doesn’t store or use any cookies.
Faro stores session information in the browsers web-storage which has the following structure.
export interface FaroUserSession {
sessionId: string; // randomly created sessionID
lastActivity: number; // last user/browser activity
started: number; // when the session has been started
isSampled: boolean; // is the session part of the sample
sessionMeta?: MetaSession; // a copy of the in-memory session meta object
}
Web Storage
Faro uses web storage to save the state of the user session. By default, the session state doesn’t contain any personal data.
Note
Faro stores custom attributes that are manually added to a user session in the
sessionMeta
. Never store personal data in the session meta.
By default Faro stores session data in the browser’s session storage, which is wiped after the tab or browser window is closed.
If persistent sessions are enabled, the session is stored in the browsers local storage and persists even if the tab or window is closed.
If the session is alive for longer than maxSessionPersistenceTime
for a recurring visitor, Faro removes the data.
Proxy data to Frontend Observability
If you want to prevent the Faro or your users from sending any data directly to Grafana Cloud, you can proxy the data through your own backend.
Learn more how to proxy data in the data proxy documentation.
Geolocation privacy in Frontend Observability
The Geolocation insights feature includes Privacy by Design principles to support compliance with GDPR, ePrivacy, CCPA, and other privacy regulations. Unlike traditional geolocation tracking methods that rely on third-party APIs or store IP addresses, our privacy-first approach means:
- No additional external third-party personal data sharing: Frontend Observability uses an offline geolocation database (MaxMind) within our infrastructure, which means no IP addresses are sent to external services.
- Anonymization and data minimization: Frontend Observability does not store IP addresses. Instead, it uses IPs temporarily and processes them locally within the end-user’s browser, and then discards them immediately after deriving location data.
- Disabled geolocation tracking by default. Users can enable it and choose the level of granularity from continent to network, ensuring control over data collection. When enabled, geolocation tracks country-level data by default.
Note
Opt-in consent, where applicable, at the end-user level remains a user responsibility to be implemented individually. Faro includes a mechanism that retrieves the information on a per user basis, leaving the decision to the end-user. You cannot enable geolocation if it’s disabled in Grafana Cloud. Also, Frontend Observability doesn’t collect geolocation data for any users that have disabled the feature.
- Strict retention policies: Geolocation metadata follows the standard 30-day retention policy for logs and traces. This policy may vary based on the customer contract.
- Role-Based Access Control (RBAC): You can manage Geolocation data access via Grafana’s RBAC system, ensuring that only authorized users can query location data.
- Geolocation insights requires the Grafana Editor or Frontend Observability Editor RBAC role.
Learn more about geolocation in the geolocation insights documentation.