Home/Blog/GDPR, DSA, and Localization: What Legal Requires Your i18n Team to Ship
Compliance

GDPR, DSA, and Localization: What Legal Requires Your i18n Team to Ship

Your German enterprise customer's legal team sent a security questionnaire. Question 47 asks: "Please confirm that your privacy policy and data processing terms are provided in German for data subjects located in Germany, and provide the audit trail."

You have a German privacy policy. You do not have an audit trail. Your options in the next 48 hours narrow considerably.

What are the actual localization requirements under GDPR?

GDPR does not have a single "localization" clause. It has several requirements that together create a de facto obligation to localize specific strings.

  • Article 12. Requires that information provided to data subjects be "concise, transparent, intelligible and easily accessible, using clear and plain language". In practice, EU data protection authorities interpret this as requiring the local language for consumer-facing services.
  • Articles 13 and 14. Specify what information must be provided when personal data is collected. All of that information falls under Article 12 language requirements.
  • Article 22. Automated decision-making explanations must be provided in language the data subject understands.
  • Data subject rights processes. The right to access, rectify, erase, and port data must be exercisable in a language the data subject can operate in. This includes any web forms, email templates, and status updates.

The result is that for any data subject in Germany, your privacy notice, consent language, data subject request flows, and any communication about their data must be available in German. The same rule applies for every other EU country.

What does the Digital Services Act add?

The DSA, in force since 2024, adds a distinct set of obligations that scale with platform size but apply in some form to any online service.

  • Terms and conditions must be in the languages of the member states where the service is offered. Not just English with a translation available. The default T&C for a French user should be French.
  • Notices to users about content moderation, illegal content, or account restrictions must be in a language the user understands. In practice, this means the user's declared language or the language of the interface.
  • Transparency reports for very large platforms must include data broken down by language and member state. This requires you to be able to report on which strings shipped in which locales.
  • Contact points for authorities must accept communication in an official language of each member state. This is an operational obligation, not just a linguistic one.

The DSA is enforced actively. Non-compliance is not just theoretical.

What does Quebec Bill 96 require?

Bill 96, in force since 2022 with escalating enforcement, is the strongest French-language obligation in North America.

  • Products and services offered in Quebec must be available in French, and French must be equal to or predominant over other languages.
  • Consumer contracts must be provided in French unless the consumer explicitly consents to another language after being offered the French version.
  • Software and mobile apps must have a French-language version available on the same commercial terms as any other language version.
  • Marketing communications in Quebec must be in French, with any other language of equal or lesser prominence.
  • Registration requirements for businesses with more than 25 employees include a francization process.

The fines have teeth. Enforcement has ramped up since 2023, and B2B SaaS is not exempt.

What strings actually need to be localized for compliance?

Not every string. But more than most teams assume. The categories that must be covered:

Category Applies to Localization requirement
Privacy notice and cookie banner Any EU or Quebec customer Full text in local language
Consent language for data collection Any EU or Quebec customer Full text in local language
Terms of service DSA (EU) and Bill 96 (Quebec) Full text in local language
Data subject rights UI and emails GDPR UI + email templates in local language
Content moderation notices DSA Notice + reason in user's language
Billing and pricing Bill 96 in Quebec Full text in French
Contract-adjacent marketing Bill 96 in Quebec French equal or predominant
Support communication GDPR (for data subjects) Local language when discussing data
Cookie preferences and third-party consent GDPR Local language for all options

The strings most commonly missed are the ones that feel technical: error messages that reveal data handling, transactional emails triggered by data operations, and third-party consent banners loaded from external scripts.

How do you build an audit trail?

The audit trail is the difference between compliant and technically compliant. You need to answer three questions for any given string in any given locale:

  1. What is the current version, and what did it say last week, last quarter, and last year?
  2. When was this version approved for the target locale, and by whom?
  3. When did it ship to production for users in the target jurisdiction?

A repo-native pipeline answers all three from git history plus the translation service's audit log. Every string change is a commit. Every translation approval is a timestamped event with a named reviewer. Every production deploy is a versioned release.

A spreadsheet workflow cannot answer any of the three reliably. Spreadsheets do not preserve history. Reviewer identity gets lost when files change hands. Production deploy timing is disconnected from the translation event.

Who owns the compliance sweep?

The obligation is legal's. The execution is engineering's and localization's. The typical operating model:

  • Legal identifies the string categories in scope for each jurisdiction. This is a document that gets updated when regulations change.
  • Localization or i18n leads maintain the mapping from string categories to actual repo paths and file locations. So "privacy notice" is a specific route in a specific file, not a vague concept.
  • Engineering owns the pipeline that ensures those strings ship in the required locales. With CI checks that fail if a compliance-tagged string is not present in a required locale.
  • A quarterly compliance sweep runs the audit report and surfaces any gaps. Legal reviews. Gaps close within 30 days.

The mistake is treating compliance as a legal-only conversation. Legal cannot enforce what localization does not know about, and localization cannot cover what engineering has not tagged.

What are the operational patterns that work?

Three patterns hold up under real audit pressure.

  • Compliance tags on strings. Every string that has a compliance obligation gets a tag in the source file: #compliance:gdpr, #compliance:dsa, #compliance:bill96. CI enforces coverage rules based on tags.
  • Locked release process for compliance strings. Changes to compliance-tagged strings require an additional legal review beyond the standard translation review. The pipeline enforces this.
  • Quarterly audit report generation. A scheduled job runs every quarter, produces a report of every compliance-tagged string in every required locale with its current version, last approval date, and reviewer. Legal signs off.

The tag-driven approach is scalable. You do not have to remember which strings are compliance-relevant. The tag makes it a data question.

The mistake to avoid

Most teams treat compliance localization as a translation project. Get the strings translated, get legal to approve, ship, done. The mistake is treating it as a one-time event rather than an ongoing obligation. Regulations change. Strings drift. New features add new compliance surfaces. Without an audit trail and a repeatable process, you are always one product change or one regulatory update away from a gap. Build the pipeline to enforce compliance continuously, and the audit is a report you run, not a project you scramble to complete. That is the only version that survives contact with actual enforcement.

gdpr-localizationdigital-services-actquebec-bill-96i18n-compliancelegal-localization

Frequently asked questions

Which localization obligations apply to a US B2B SaaS with EU customers?

Three tiers. GDPR requires that privacy notices, consent language, and data subject rights documentation be provided in a language the data subject understands, which in practice means the local language of the EU country. The Digital Services Act requires terms of service, illegal-content notices, and transparency reports in official languages of the EU member states where you operate. If you have Quebec customers, Bill 96 applies for French-language UI and contracts. Even without a legal entity in these jurisdictions, having customers there triggers the obligations.

What are the fines for non-compliance?

GDPR: up to 4 percent of global annual revenue or 20 million euros, whichever is higher. DSA: up to 6 percent of global annual revenue for very large online platforms, lower tiers for smaller services. Bill 96: fines from CAD 3,000 to CAD 30,000 per infraction for businesses, with escalation for repeat violations. The financial risk is significant, but the reputational risk of an enforcement action is usually larger, especially for B2B SaaS selling into enterprise accounts that require compliance attestation.

Do we need a certified translator for legal strings?

Not for most obligations. GDPR requires 'clear and plain language' and comprehension by the data subject. This is a standard, not a certification requirement. The strings must be understandable, accurate, and complete. A qualified in-house or vendor translator who understands the source and target languages meets this bar. Bill 96 has specific certification requirements for some documents in specific contexts, but the general obligation for UI and marketing does not require certification. Consult local counsel for edge cases.

How do we prove compliance if we are audited?

You need an audit trail that answers three questions: what strings shipped in each required locale, on what date, and who approved them. A repo-native pipeline answers this with git history plus a translation approval log. Every string has a timestamp for creation, translation, review, and production deploy. Every reviewer is a named person. The audit becomes a report you run, not a project. Spreadsheet workflows cannot produce this trail reliably, which is one of the strongest arguments for pipeline investment in regulated markets.

Which strings are most commonly missed in compliance sweeps?

Four categories. First, error and validation messages that reference user data (missed because they feel like technical strings). Second, transactional emails (missed because they live outside the app). Third, third-party consent banners loaded from external scripts (missed because they are not in the repo). Fourth, help center articles that describe data practices (missed because they are treated as marketing content). All four need to be in scope from the start, not added after a legal review flags them.

Ship every language the day you ship English

Thalarum syncs strings from your repo, drafts translations with your glossary, routes review, and blocks broken releases in CI.

Request early access