Commit graph

7 commits

Author SHA1 Message Date
TheFlow
6678230120 fix: Remove analytics contradictions from French/German privacy locales
Align fr/privacy.json and de/privacy.json with the "No Analytics"
decision. Both files still contained extensive Umami Analytics
references in sections 1.2, 2, 4, and 6. Also updates the monthly
review schedule to close the analytics decision.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 13:52:41 +13:00
TheFlow
a95100bfd4 docs(privacy): add comprehensive Umami Analytics disclosure
GDPR Compliance Update - Added complete section on privacy-first analytics

Changes:
- Updated Section 6 of privacy policy with detailed Umami Analytics information
- Documented what data is collected (page views, referrers, browser, device, country)
- Documented what is NOT collected (IP addresses, personal info, cookies, precise location)
- Added Do Not Track (DNT) support documentation
- Provided opt-out instructions (browser console method, DNT setting)
- Explained cookie-free tracking and EU data storage
- Updated last modified date to October 29, 2025
- Created DeepL translation script for privacy.json
- Translated all new content to German (DE) and French (FR)

Rationale:
- GDPR requires disclosure of all data collection practices
- Umami was deployed in previous session but privacy policy not updated
- This is a mandatory compliance requirement before further work

Testing:
- Verified English HTML updates render correctly
- Confirmed German translation quality (Analytik und Rückverfolgung)
- Validated French translations via DeepL Pro API
- All i18n keys properly mapped

Files Modified:
- public/privacy.html (Section 6 expanded from 13 to 84 lines)
- public/locales/en/privacy.json (added comprehensive section_6 object)
- public/locales/de/privacy.json (DeepL translated section_6)
- public/locales/fr/privacy.json (DeepL translated section_6)
- scripts/translate-privacy-deepl.js (new translation automation script)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 11:30:41 +13:00
TheFlow
0a148ea78d docs: Phase 4 Cultural DNA improvements and i18n translation corrections
Cultural DNA Updates (README.md):
- Add "one approach" framing with uncertainty disclosure (inst_087)
- Add terminology strategy: "amoral AI" (problem) vs "plural moral values" (solution) (Refinement 3)
- Strengthen value-plural positioning in PluralisticDeliberationOrchestrator section (Refinement 5)

German Translation Corrections (de/*.json):
- Replace all "GDPR" with "DSGVO" (correct German abbreviation)
- Replace "Allgemeine Datenschutzverordnung" with "Datenschutz-Grundverordnung"
- Files: gdpr.json, privacy.json, leader.json, faq.json

French Translation Corrections (fr/*.json):
- Replace all "GDPR" with "RGPD" (correct French abbreviation: Règlement Général sur la Protection des Données)
- Files: gdpr.json, privacy.json, leader.json, faq.json

Compliance: inst_085-089, Cultural DNA Refinements 3 & 5

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 20:30:27 +13:00
TheFlow
fa7d2dffc8 fix(privacy): correct hosting location and enhance EU data protection disclosure
CRITICAL FIX: Section 9 incorrectly stated data "may be transferred to and
processed in New Zealand" - this is factually incorrect. Data is hosted in
the EU (OVHCloud France, MongoDB Atlas Frankfurt) and NEVER transferred to NZ.

Changes:
- Section 9: Complete rewrite for accuracy
  * Clarified: NZ administration vs. EU hosting
  * Added explicit hosting providers and regions
  * Confirmed NO data transfer to New Zealand
  * Expanded GDPR compliance details (Articles 5, 6, 15-22, 25, 32)
- Section 4: Updated retention periods to match GDPR page (7 years donations,
  14 months analytics anonymization)
- Section 7: Enhanced security specifications (TLS 1.3, AES-256, bcrypt)
- Section 3: Clarified MongoDB hosting is in EU

Translations:
- German (DE): 99/99 professional translations via DeepL ✓
- French (FR): 99/99 professional translations via DeepL ✓

This correction strengthens GDPR compliance messaging and provides accurate
transparency about data residency.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 10:46:51 +13:00
TheFlow
ac2db33732 fix(submissions): restructure Economist package and fix article display
- Create Economist SubmissionTracking package correctly:
  * mainArticle = full blog post content
  * coverLetter = 216-word SIR— letter
  * Links to blog post via blogPostId
- Archive 'Letter to The Economist' from blog posts (it's the cover letter)
- Fix date display on article cards (use published_at)
- Target publication already displaying via blue badge

Database changes:
- Make blogPostId optional in SubmissionTracking model
- Economist package ID: 68fa85ae49d4900e7f2ecd83
- Le Monde package ID: 68fa2abd2e6acd5691932150

Next: Enhanced modal with tabs, validation, export

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 08:47:42 +13:00
TheFlow
bd262ae48d refactor: reduce public repo to minimal implementation-only resource
REMOVED: 267 non-implementation files (51% reduction)

Categories removed:
- Research documents & case studies (35 files)
- Planning/internal development docs (28 files)
- Website pages & assets (93 files - this is framework code, not website code)
- Audit reports (6 files)
- Non-essential admin UI (11 files)
- Markdown content duplicates (10 files)
- Internal development scripts (96 files)
- Internal setup docs (2 files)

RETAINED: 253 implementation-focused files
- Core framework services (src/)
- Test suite (tests/)
- API documentation (docs/api/)
- Deployment quickstart guide
- Essential admin UI (rule manager, dashboard, hooks dashboard)
- Architecture decision records
- Configuration files

PURPOSE: Public repo is now focused exclusively on developers
implementing Tractatus, not researchers studying it or users visiting
the website. All background/research content available at
https://agenticgovernance.digital

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 21:09:34 +13:00
TheFlow
c4f4403236 feat(i18n): add footer and privacy page translations (en/de/fr)
SUMMARY:
Implemented complete internationalization for footer component and
privacy page across English, German, and French languages.

CHANGES:

1. Privacy Page Translations (3 files):
   - Created locales/en/privacy.json (baseline)
   - Created locales/de/privacy.json (German - Datenschutzerklärung)
   - Created locales/fr/privacy.json (French - Politique de confidentialité)
   - All 11 sections + Te Tiriti fully translated

2. Footer i18n Enhancement:
   - Rewrote footer.js with data-i18n attributes
   - Added languageChanged event listener for dynamic updates
   - Expanded homepage.json footer translations (en/de/fr)
   - Footer now auto-translates with language selection

3. Privacy Page Integration:
   - Added data-page="privacy" attribute to HTML
   - Added data-i18n to all content sections (header + 11 sections)
   - Integrated with existing language-selector.js component
   - Updated i18n-simple.js pageMap to recognize privacy page

4. Bug Fix:
   - Fixed SessionStart hook error in .claude/settings.local.json
   - Changed from $CLAUDE_PROJECT_DIR to absolute path
   - Hook now runs successfully at session start

BENEFITS:
- Better UX for international users (German, French speakers)
- Legal compliance (privacy policy in native languages)
- Consistent language experience across entire site
- Leverages existing language persistence (localStorage)

INTEGRATION:
- Works with existing language-selector.js (flag icons: 🇬🇧 🇩🇪 🇫🇷)
- Language preference persists across all pages
- Zero duplication - integrates with existing i18n system

WCAG COMPLIANCE:
✓ Maintains semantic HTML structure
✓ Preserves WCAG AA contrast ratios
✓ All links remain accessible and distinguishable
✓ German and French translations maintain accessibility standards

FRAMEWORK COMPLIANCE:
✓ Zero CSP violations - uses data-i18n attributes only
✓ No inline scripts or styles
✓ Follows existing Tractatus i18n patterns

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-19 14:44:14 +13:00