Skip to content

i18n: propagate desktop API-key/storage security-doc corrections to 14 remaining locales #382

Description

@qnbs

Summary

PR #352 corrected several stale/false security claims in `locales/en/help.json` (see also `docs/IDB-ENCRYPTION.md`, `docs/SECURITY-THREAT-MODEL.md`). During Wave 0 review-thread remediation (2026-08-18, see `docs/cef/ROADMAP-CEF-DESKTOP-MIGRATION.md` §65 and PR #352/#365/#366's review threads), these corrections were propagated to all 5 production-tier locales (en/de/es/fr/it) but not yet to the remaining 14 (ar, he, el, ja, zh, pt, fa, fi, sv, hu, is, eu, ru, ko), per this repo's established two-tier i18n practice (/i18n-key skill covers the 5 production locales; the rest are updated manually afterward — see CLAUDE.md § i18n).

What was fixed in en/de/es/fr/it

  1. Removed a false Stronghold claimhelp.docs.tauriDesktop.content claimed tauri-plugin-stronghold can store the IDB passphrase; no such dependency exists anywhere in the codebase. Already mechanically removed from all 13 locales that had it (this part of the fix is already propagated everywhere: de, el, eu, fa, fi, hu, is, ja, ko, pt, ru, sv, zh).
  2. Corrected the API-key encryption mechanism description — several Help entries claimed API keys are "PBKDF2-encrypted before being stored in IndexedDB." This is wrong: services/storage/idbKeyStore.ts uses a random, non-extractable generated key — no passphrase, nothing to derive, no PBKDF2 involved. PBKDF2 is only used for the opt-in project-data-at-rest passphrase (a different, unrelated feature) and for collaboration E2E encryption.
  3. Scoped "never sent to any WorldScript server" claims with the Claude/Anthropic exception — on the web/PWA build, Claude requests relay through WorldScript's own stateless serverless proxy (never logged) since Anthropic blocks direct browser requests; desktop calls Anthropic directly like every other provider. The blanket "never transmitted" claim was misleading for this one case.
  4. Scoped "all data lives in your browser's IndexedDB/OPFS" claims to Browser/PWA — on the Tauri desktop build, project data lives in local files under the app's data directory, not the browser storage APIs.

Affected keys (same 4-5 per locale): help.aiStudio.providers.content, help.faq.api.content, help.faq.privacy.content, help.gettingStarted.desktop.content, help.docs.privacySecurity.content.

Remaining work

Apply the equivalent corrections (2-4 above; the Stronghold removal is already done everywhere) to:

  • ar (RTL stub — verify actual content vs. English-fallback status first)
  • he (RTL stub — verify actual content vs. English-fallback status first)
  • el
  • ja
  • zh
  • pt
  • fa
  • fi
  • sv
  • hu
  • is
  • eu
  • ru
  • ko

Use the corrected English/German/Spanish/French/Italian text (git history on locales/{en,de,es,fr,it}/help.json, commits from 2026-08-18) as the reference for what each locale's equivalent sentences should say. Run `pnpm run i18n:check` after editing to rebuild bundles and verify key parity.

Not attempted in this pass: translation quality/accuracy risk for security-sensitive content in languages without a confident reviewer in this session (particularly CJK, RTL, and Cyrillic scripts) outweighed doing a rushed mechanical find-replace.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions