Privacy by Design

Privacy by Design

Privacy by Design

Trackingplan Privacy SDK automatically masks sensitive information before it reaches our systems, helping you stay fully GDPR compliant.

This is ideal for teams that manage sensitive data and want to enforce privacy by design without compromising on observability.

Key Benefits

  • Automatic masking of personal identifiers like names, emails, phone numbers, and IP addresses.
  • Real-time protection at the source before data is logged and stored in the system.
  • Obfuscated data flow, ensuring no raw personal data is exposed.
  • Full visibility into your data quality, without putting user privacy at risk.
☝🏻

By enabling this mode, personal data visible in Trackingplan’s Privacy Report will be protected and obfuscated through automatic data masking, preventing any personal data from ever appearing in the logs or dashboards.

Obfuscation and Data Masking

When privacy mode is enabled, Trackingplan applies masking techniques directly in the SDK:

  • Masking: Sensitive fields are replaced with non-identifiable placeholders (e.g. email: "***").
  • Obfuscation: Some data is partially redacted or anonymized to preserve analytical utility without exposing user identity.
🛠

While the masking rules are included in the SDK itself, they can be modified server-side if needed.

Privacy SDK setup guide

To enable the Privacy SDK, simply activate privacy mode in your SDK configuration. These rules are defined directly in the SDK, so once usePrivacy: true is enabled, data will be automatically protected without requiring server-side changes.

1. Enable privacy mode in your SDK init

trackingplan.init({
apiKey: "your-api-key",
usePrivacy: true
});

2. Define privacy rules (Optional)

If needed, custom masking rules can be defined using the privacyRules object. These are optional and allow you to override or extend the default behavior:

trackingplan.init({
  apiKey: "your-api-key",
  usePrivacy: true,
  privacyRules: {
    email: { mask: true },
    phone_number: { block: true },
    user_id: { mask: true }
  }
});