Skip to content

Trust & Compliance

Last updated: June 12, 2026 β€” same effective date as our Privacy Policy.

This page is the technical detail behind the badges you see across the site. Nothing here is marketing copy without a receipt β€” every claim links back to the mechanism that makes it true, or to our Privacy Policy for the legal framing.

Automatic PII detection

Custom event properties are the one place a client integration could accidentally leak PII β€” a developer might pass a real email or phone number as a property value without thinking about it. Every property on every event is scanned at ingest for values that look like an email, phone number, SSN, or credit card, and for known-PII field names regardless of what the value looks like. Anything flagged is hashed in place, the same way, before the row is ever written β€” the raw value never reaches storage.

This isn't a separate marketing claim from what the dashboard shows you: the "PII Intercepted" count on your dashboard and the per-field warning badge in the Event Inspector both read the exact same flag written at ingest time. There's no second system that could drift out of sync with what's actually stored.

Compliance alignment

India's Digital Personal Data Protection Act, 2023

Consent and notice obligations under the DPDP Act attach to processing of personal data. Mitr's hash-at-source design means the backend never receives β€” and therefore never has to lawfully justify processing of β€” raw personal identifiers. Site owners retain the right to permanently erase or export a visitor's data on request (see below), which maps to the DPDP Act's data-principal rights.

GDPR & EU ePrivacy Directive

Article 5(3) of the ePrivacy Directive requires consent for storing or accessing information on a user's device beyond what's strictly necessary β€” not just cookies specifically, localStorage and similar client-side storage count too. For anonymous visitors, Mitr writes nothing to the device at all: identity is derived server-side from IP + User-Agent with a daily-rotating salt (see above), so there's no storage event to have gotten consent for in the first place β€” not a smaller one, none. On the GDPR side, irreversibly hashed identifiers substantially reduce what qualifies as identifiable personal data flowing through the pipeline. The one exception is identify(), an opt-in mechanism for your own logged-in users that does persist locally, comparable to a login session.

CCPA / CPRA

California's "sale" and "sharing" opt-out rights govern cross-context behavioral advertising conducted via cookies and trackers. Mitr doesn't set cookies, doesn't share data with ad networks, and doesn't build cross-site profiles β€” so we don't believe there's a sale or sharing mechanism for a visitor to opt out of in the first place.

Data retention & right to erasure

Every plan has a retention window, enforced in two stages, not just promised. Once an event ages past your plan's window, it's marked deleted but held for a 30-day grace period β€” recoverable if you or your visitor dispute the deletion β€” before it's permanently purged. Every purge is logged to an append-only audit trail your dashboard can show you, so "we deleted it" isn't something you have to take on faith.

You can also delete a specific visitor's data on demand β€” every event is keyed to an opaque, one-way hash (never a raw email or device ID), so deletion works by that hash directly from the dashboard's event list. There's no lookup path from a real identity to that hash in the first place, which is what makes targeted deletion possible without Mitr ever having held the identity it's deleting.

Verify it yourself

Every mechanism on this page has a corresponding place in your dashboard where you can see it working, not just read about it:

  • Privacy Audit Shield (dashboard home) β€” real counts for PII interceptions, retention days remaining, last automatic purge, and visitor deletions, computed live from your own data.
  • Event Inspector (dashboard, click any live event) β€” the full raw payload Mitr actually stored for that event, including a badge on any property that was caught and hashed as suspected PII.
  • Data export β€” download your raw events as CSV or JSON for any date range, exactly as stored.
  • Audit log β€” the append-only record of every deletion and retention purge that's run against your data.

Security practices

  • Transport: HTTPS/TLS on every endpoint β€” SDK ingestion, dashboard API, and this website. No plaintext HTTP is served.
  • Identifier hashing: SHA-256, applied client-side in the JS and Flutter SDKs before any request leaves the device.
  • Access scoping: every API endpoint checks workspace ownership before returning data, so one client's data is never visible to another.
  • At rest: encryption at rest is part of our production hosting setup β€” this page will be updated to confirm it's active once infrastructure is live.
  • No third-party trackers: this website and the dashboard load no third-party advertising or analytics scripts, and embed no cross-site tracking pixels.

See the full write-up in Privacy Policy Β§4.

Sub-processors

We keep this list short on purpose β€” the fewer parties that touch your data, the fewer promises we have to make on their behalf.

Sub-processor Purpose Data shared
Razorpay Payment processing for subscriptions and add-ons Billing contact details and transaction metadata β€” no analytics event data
Vultr Application hosting and database, provisioned region-by-region so each workspace's data stays close to its own users Application data, as required to operate the service

Full policy: Privacy Policy Β§5.

Mitr vs. cookie-based analytics

Mitr Analytics Typical cookie-based analytics
Cookies set None One or more first/third-party cookies per visitor
Cross-site tracking Not possible β€” no persistent client-side identifier Common, via shared cookie/ad-network identifiers
Consent banner required No Usually yes, under GDPR/ePrivacy/DPDP
Data retention control Per-plan retention window, workspace-scoped Varies; often vendor-controlled defaults
Raw PII collected No β€” identifiers are hashed client-side before transmission Often, depending on configuration

Questions about our architecture?

Reach out directly and we'll walk through anything on this page in more depth.

Have questions about integration or security? Drop us a line directly.