Replace manifesto bar with compact context bar + add privacy page

- layout.php: replace large manifesto section (eyebrow/title/sub/4 stats) with
  a slim dbn-context-bar strip linking to why-ours, pricing, MCP, and privacy
- i18n.php: add context_bar_* + footer_privacy_link + privacy_page_title keys
  to all 4 language blocks (en, no, uk, pl)
- dbn-tools-redesign.css: add .dbn-context-bar styles with mobile wrap
- privacy.php: new standalone page in 4 languages covering in-memory processing,
  metadata-only logging, My Case opt-in storage, EU data locations, and HTTPS transport
- footer.php: add Privacy link to first footer column

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-24 14:44:44 +02:00
parent aafe8efaa4
commit 7df3b7f8d3
5 changed files with 567 additions and 13 deletions
+1
View File
@@ -28,6 +28,7 @@ function _ft(string $key, string $lang): string {
<a href="https://dobetternorge.no/library.php"><?= _ft('footer_legal_lib', $_footerLang) ?></a>
<a href="/pricing.php"><?= _ft('pricing_nav_link', $_footerLang) ?></a>
<a href="/why-ours.php"><?= _ft('why_ours_trust_link', $_footerLang) ?></a>
<a href="/privacy.php"><?= _ft('footer_privacy_link', $_footerLang) ?></a>
<a href="mailto:support@dobetternorge.no"><?= _ft('footer_report', $_footerLang) ?></a>
</div>
<div class="lt-footer__link-col">
+32
View File
@@ -512,6 +512,14 @@ function dbnToolsTranslations(): array
'mcp_tool_setup_link' => 'Set up MCP →',
'mcp_tool_yes' => 'Yes',
'mcp_tool_no' => 'No',
// ── Context bar + privacy page (added 2026-05-24) ────────────────
'context_bar_tag' => 'AI legal tools · Norway · since 2019',
'context_bar_why' => 'Why different from ChatGPT →',
'context_bar_pricing' => 'Pricing →',
'context_bar_mcp' => 'MCP for developers →',
'context_bar_privacy' => 'Privacy →',
'footer_privacy_link' => 'Privacy',
'privacy_page_title' => 'Privacy — Do Better Norge Tools',
],
'no' => [
'meta_title' => 'Do Better Norge - juridiske AI-verktøy',
@@ -956,6 +964,14 @@ function dbnToolsTranslations(): array
'mcp_tool_setup_link' => 'Sett opp MCP →',
'mcp_tool_yes' => 'Ja',
'mcp_tool_no' => 'Nei',
// ── Context bar + privacy page (added 2026-05-24) ────────────────
'context_bar_tag' => 'AI juridiske verktøy · Norge · siden 2019',
'context_bar_why' => 'Hvorfor annerledes enn ChatGPT →',
'context_bar_pricing' => 'Priser →',
'context_bar_mcp' => 'MCP for utviklere →',
'context_bar_privacy' => 'Personvern →',
'footer_privacy_link' => 'Personvern',
'privacy_page_title' => 'Personvern — Do Better Norge verktøy',
],
'uk' => [
'meta_title' => 'Do Better Norge - юридичні AI інструменти',
@@ -1400,6 +1416,14 @@ function dbnToolsTranslations(): array
'mcp_tool_setup_link' => 'Налаштувати MCP →',
'mcp_tool_yes' => 'Так',
'mcp_tool_no' => 'Ні',
// ── Context bar + privacy page (added 2026-05-24) ────────────────
'context_bar_tag' => 'Інструменти правової підготовки · Норвегія · з 2019',
'context_bar_why' => 'Чому відрізняється від ChatGPT →',
'context_bar_pricing' => 'Ціни →',
'context_bar_mcp' => 'MCP для розробників →',
'context_bar_privacy' => 'Конфіденційність →',
'footer_privacy_link' => 'Конфіденційність',
'privacy_page_title' => 'Конфіденційність — Do Better Norge',
],
'pl' => [
'meta_title' => 'Do Better Norge - prawne narzędzia AI',
@@ -1844,6 +1868,14 @@ function dbnToolsTranslations(): array
'mcp_tool_setup_link' => 'Skonfiguruj MCP →',
'mcp_tool_yes' => 'Tak',
'mcp_tool_no' => 'Nie',
// ── Context bar + privacy page (added 2026-05-24) ────────────────
'context_bar_tag' => 'Narzędzia prawne · Norwegia · od 2019',
'context_bar_why' => 'Dlaczego różni się od ChatGPT →',
'context_bar_pricing' => 'Cennik →',
'context_bar_mcp' => 'MCP dla deweloperów →',
'context_bar_privacy' => 'Prywatność →',
'footer_privacy_link' => 'Prywatność',
'privacy_page_title' => 'Prywatność — Do Better Norge',
],
];
}
+9 -13
View File
@@ -73,19 +73,15 @@ window.DBN_USER_TIER = <?= json_encode(FreeTier::tier((int)$_SESSION['dbn_tools_
<main id="appShell" class="app-shell">
<section class="manifesto" role="banner">
<div class="manifesto-copy">
<p class="manifesto-eyebrow"><?= htmlspecialchars(dbnToolsT('manifesto_eyebrow', $uiLang)) ?></p>
<h2 class="manifesto-title"><?= htmlspecialchars(dbnToolsT('manifesto_title', $uiLang)) ?></h2>
<p class="manifesto-sub"><?= htmlspecialchars(dbnToolsT('manifesto_sub', $uiLang)) ?></p>
</div>
<div class="manifesto-stats" aria-label="Headline statistics">
<div class="manifesto-stat"><strong>23</strong><span><?= htmlspecialchars(dbnToolsT('stat_echr', $uiLang)) ?></span></div>
<div class="manifesto-stat"><strong>64%</strong><span><?= htmlspecialchars(dbnToolsT('stat_loss', $uiLang)) ?></span></div>
<div class="manifesto-stat"><strong>1,731</strong><span><?= htmlspecialchars(dbnToolsT('stat_tribunal', $uiLang)) ?></span></div>
<div class="manifesto-stat"><strong>20+</strong><span><?= htmlspecialchars(dbnToolsT('stat_pending', $uiLang)) ?></span></div>
</div>
</section>
<div class="dbn-context-bar" role="note">
<span class="dbn-context-bar__tag"><?= htmlspecialchars(dbnToolsT('context_bar_tag', $uiLang)) ?></span>
<nav class="dbn-context-bar__links" aria-label="About">
<a href="/why-ours.php<?= $uiLang !== 'en' ? '?lang=' . urlencode($uiLang) : '' ?>"><?= htmlspecialchars(dbnToolsT('context_bar_why', $uiLang)) ?></a>
<a href="/pricing.php<?= $uiLang !== 'en' ? '?lang=' . urlencode($uiLang) : '' ?>"><?= htmlspecialchars(dbnToolsT('context_bar_pricing', $uiLang)) ?></a>
<a href="/mcp-tool.php<?= $uiLang !== 'en' ? '?lang=' . urlencode($uiLang) : '' ?>"><?= htmlspecialchars(dbnToolsT('context_bar_mcp', $uiLang)) ?></a>
<a href="/privacy.php<?= $uiLang !== 'en' ? '?lang=' . urlencode($uiLang) : '' ?>"><?= htmlspecialchars(dbnToolsT('context_bar_privacy', $uiLang)) ?></a>
</nav>
</div>
<div class="disclaimer" role="note">
<?= htmlspecialchars(dbnToolsT('disclaimer', $uiLang)) ?>