Skip to content

Your privacy rights

The Privacy tab on the user’s profile explains the privacy rights they have (GDPR-style: access, rectification, erasure, portability, etc.) and points them at the part of the app where they can act on each one. It’s primarily an informational page — most actions live on other tabs.

The tab is only visible after the user has completed at least one survey.

The user opens the Privacy tab and sees a list of cards, one per right. Each card explains the right in plain language and offers a way to exercise it — either a button that jumps to another tab (e.g. “Erasure” links to the Profile tab’s delete-account button), an external link (e.g. “Informed” links to the privacy policy), or instructions to contact the privacy officer.

The page has eight cards:

CardWhat it coversAction
InformedWhat’s collected and whyExternal links: FAQ + Privacy Policy
AccessRight to request a copy of their dataContact privacy officer
RectificationRight to correct inaccurate dataNavigate to Permissions tab
ErasureRight to request deletionLinks to Survey and Profile tabs
PortabilityRight to export data in a portable formatLinks to Permissions and Survey tabs (data export controls live there)
RestrictRight to restrict processingNavigate to Permissions tab
ObjectRight to object to processingLinks to Profile tab
Other rightsAnything elseContact privacy officer

Translation keys for each card:

  • Card titles: PrivacyRights.cards.{cardId}.title
  • Card body text: PrivacyRights.cards.{cardId}.body (markdown links supported via t.rich)
  • Action button labels: PrivacyRights.actions.navigateTo.{tab} or PrivacyRights.actions.external.{linkName}
  • Section heading: PrivacyRights.heading

All privacy text lives under PrivacyRights.* in tep-configuration/translations/{locale}/main/privacy-rights.json. The card body text supports markdown links so you can embed your own privacy-policy and FAQ URLs.

Override per client in clients/{client}/translations/{locale}/overrides.json.

FAQ and privacy-policy URLs are not hardcoded — they come from your client’s appLinks config and are injected at runtime. Each client configures their own URLs.

The “Contact privacy officer” action opens a mailto: to the address configured in your environment via NEXT_PUBLIC_PRIVACY_OFFICER_EMAIL. Set this per deployment.

The Privacy tab is informational and directional — it doesn’t itself execute any data-rights mutations. The actual export, delete, and consent-management actions live on other tabs:

  • Data export → Permissions tab / Survey answers tab
  • Account deletion → Profile tab → Delete Account
  • Consent withdrawal → Permissions tab

If your data-protection policy requires direct in-page actions for any of these, you’d need to wire them in additionally.

The page is the same across all clients. Differences are only in translations and the per-client external links and privacy-officer email.

For the card config structure, the t.rich markdown rendering, and the navigation callback wiring, see Your privacy rights (engineering).