Files
dobetternorge-tools/korrespond-about.php
T

286 lines
16 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
declare(strict_types=1);
require_once __DIR__ . '/includes/bootstrap.php';
$uiLang = dbnToolsCurrentLanguage();
$isAuthed = dbnToolsIsAuthenticated();
$langPath = '/korrespond-about.php';
$toolsLogin = 'https://dobetternorge.no/tools-login.php?return=' . urlencode('/korrespond.php');
$registerUrl = 'https://dobetternorge.no/register.php';
$ctaUrl = $isAuthed ? '/korrespond.php' : ($toolsLogin);
?>
<!doctype html>
<html lang="<?= htmlspecialchars($uiLang) ?>">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Korrespond — Draft letters to Norwegian authorities · Do Better Norge Tools</title>
<meta name="description" content="Korrespond uses Hard-RAG and a fine-tuned legal LLM to draft formal letters, emails, and court filings to Norwegian authorities — always in Norwegian bokmål + your language, with verified statute citations.">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://tools.dobetternorge.no/korrespond-about.php">
<meta property="og:title" content="Korrespond — Draft letters to Norwegian authorities">
<meta property="og:description" content="AI correspondence tool grounded in 220,000+ Norwegian legal passages. Covers NAV, Barnevernet, schools, Bufdir, Statsforvalter and more.">
<meta property="og:type" content="website">
<meta name="theme-color" content="#00205B">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@400;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap">
<link rel="stylesheet" href="assets/css/tools.css">
</head>
<body class="kdoc-page">
<header class="lt-nav">
<a href="https://dobetternorge.no" class="lt-nav__brand">
<picture>
<source srcset="assets/images/logo-header.webp" type="image/webp">
<img class="lt-nav__logo" src="assets/images/logo-header.png" alt="Do Better Norge" width="140" height="36" loading="eager">
</picture>
<span class="lt-nav__badge">Legal Tools</span>
</a>
<div class="lt-nav__right">
<nav class="shell-lang-switcher" aria-label="Language">
<?php foreach (dbnToolsSupportedLanguages() as $langCode): ?>
<a href="<?= htmlspecialchars($langPath . '?lang=' . $langCode) ?>" class="<?= $langCode === $uiLang ? 'is-active' : '' ?>"><?= htmlspecialchars(dbnToolsLanguageLabel($langCode)) ?></a>
<?php endforeach; ?>
</nav>
<?php if ($isAuthed): ?>
<a href="/korrespond.php" class="lt-nav__cta lt-nav__cta--enter">Open Korrespond &rarr;</a>
<?php else: ?>
<a href="<?= htmlspecialchars($toolsLogin) ?>" class="lt-nav__cta">Sign in</a>
<?php endif; ?>
</div>
</header>
<!-- Doc nav: links to all 3 doc pages -->
<nav class="kdoc-doc-nav" aria-label="Korrespond documentation">
<div class="kdoc-doc-nav__inner">
<a href="/korrespond-about.php" class="is-active">About</a>
<a href="/korrespond-guide.php">User guide</a>
<a href="/korrespond-tech.php">How it works</a>
<?php if ($isAuthed): ?>
<a href="/korrespond.php">&larr; Open the tool</a>
<?php endif; ?>
</div>
</nav>
<!-- Hero -->
<section class="kdoc-hero" style="background: linear-gradient(rgba(0,20,60,0.82),rgba(0,20,60,0.88)), url('assets/images/korrespond/hero-marketing.png') center/cover no-repeat;">
<div class="kdoc-hero__inner">
<p class="kdoc-hero__kicker">AI Correspondence &middot; Norwegian Authorities &middot; Hard-RAG Grounded</p>
<h1 class="kdoc-hero__title">Draft the letter that changes everything.</h1>
<p class="kdoc-hero__sub">Korrespond turns your situation into a polished, statute-grounded letter, email, or court filing — always in Norwegian bokmål plus your working language, side by side. Every § citation is verified against 220,000+ indexed legal passages before it reaches you.</p>
<div class="kdoc-hero__stats">
<div class="kdoc-hero__stat">
<strong>220K+</strong>
<span>legal passages indexed</span>
</div>
<div class="kdoc-hero__stat">
<strong>11</strong>
<span>authority presets</span>
</div>
<div class="kdoc-hero__stat">
<strong>4</strong>
<span>output types</span>
</div>
<div class="kdoc-hero__stat">
<strong>3</strong>
<span>pipeline passes</span>
</div>
</div>
<div class="kdoc-hero__ctas">
<a href="<?= htmlspecialchars($ctaUrl) ?>" class="kdoc-btn-primary">Try Korrespond free &rarr;</a>
<a href="/korrespond-guide.php" class="kdoc-btn-secondary">User guide</a>
<a href="/korrespond-tech.php" class="kdoc-btn-secondary">How it works</a>
</div>
</div>
</section>
<!-- What you get -->
<section class="kdoc-section--alt">
<div class="kdoc-section">
<p class="kdoc-section__eyebrow">What you get</p>
<h2 class="kdoc-section__title">Three things no other tool gives you at once.</h2>
<div class="kdoc-features">
<div class="kdoc-feature-card">
<span class="kdoc-feature-card__icon">&#127475;&#127476;</span>
<h3 class="kdoc-feature-card__title">Always Norwegian + your language</h3>
<p class="kdoc-feature-card__body">The canonical draft is always Norwegian bokmål — the legally operative form. Your working language (English, Polish, or Ukrainian) appears side-by-side as a reference column. Copy either version with one click.</p>
</div>
<div class="kdoc-feature-card">
<span class="kdoc-feature-card__icon">&#128220;</span>
<h3 class="kdoc-feature-card__title">Hard-RAG: no hallucinated statutes</h3>
<p class="kdoc-feature-card__body">Every § number in the draft is traced to a specific retrieved passage from the legal corpus before it reaches you. The self-check pass strips any citation that can't be verified. If no statute fits — the draft says so plainly, without fake references.</p>
</div>
<div class="kdoc-feature-card">
<span class="kdoc-feature-card__icon">&#9878;&#65039;</span>
<h3 class="kdoc-feature-card__title">Covers the statutes that matter</h3>
<p class="kdoc-feature-card__body">forvaltningsloven (fvl §§ 17, 18, 24-25, 28, 32), barnevernsloven, NAV-loven, opplæringslova, barnehageloven, and EMK Art. 6 &amp; 8 — all reachable by selecting the right recipient body. Optional second pass pulls formal ECHR case citations (Strand Lobben, Johansen, K.O. and V.M.).</p>
</div>
</div>
</div>
</section>
<!-- How it works (3-step) -->
<div class="kdoc-section">
<p class="kdoc-section__eyebrow">How it works</p>
<h2 class="kdoc-section__title">Describe → retrieve → draft. In under a minute.</h2>
<p class="kdoc-section__sub">Three steps from blank form to ready-to-send letter. No legal training required.</p>
<div class="kdoc-steps">
<div class="kdoc-step-card">
<span class="kdoc-step-card__num">1</span>
<h3 class="kdoc-step-card__title">Describe your situation</h3>
<p class="kdoc-step-card__body">Choose the authority you're writing to, select your output type and tone, and describe what happened. Pick a goal chip (appeal, access to documents, request meeting…) or write your own. Upload the original letter if replying.</p>
<p class="kdoc-step-card__example">E.g. &ldquo;NAV denied my application. I want to appeal and demand a reasoned decision.&rdquo;</p>
</div>
<span class="kdoc-step-arrow" aria-hidden="true">&rarr;</span>
<div class="kdoc-step-card">
<span class="kdoc-step-card__num">2</span>
<h3 class="kdoc-step-card__title">AI retrieves applicable law &amp; drafts</h3>
<p class="kdoc-step-card__body">The pipeline classifies your situation, identifies the relevant statute set for your chosen authority, retrieves the top matching passages from 220,000+ indexed sources, and drafts a formal letter — citing only what it actually found.</p>
<p class="kdoc-step-card__example">Produces two-column output: Norsk (bokmål) canonical + your working language reference.</p>
<img src="assets/images/korrespond/output-draft.png" alt="Two-column draft output — Norwegian bokmål and English side by side" class="kdoc-step-card__screenshot" loading="lazy">
</div>
<span class="kdoc-step-arrow" aria-hidden="true">&rarr;</span>
<div class="kdoc-step-card">
<span class="kdoc-step-card__num">3</span>
<h3 class="kdoc-step-card__title">Refine with formal citations</h3>
<p class="kdoc-step-card__body">Optional second pass: choose Norwegian law, ECHR, or both. The tool rewrites the draft with court-ready citation style — <em>jf. forvaltningsloven § 17</em>, <em>Strand Lobben m.fl. mot Norge, EMD-37283/13, §§ 207214</em> — and appends a Rettskilder (legal sources) block.</p>
<p class="kdoc-step-card__example">Costs one extra credit. Takes ~30 seconds.</p>
</div>
</div>
</div>
<!-- Screenshots -->
<section class="kdoc-section--alt">
<div class="kdoc-section">
<p class="kdoc-section__eyebrow">Screenshots</p>
<h2 class="kdoc-section__title">See it in action.</h2>
<div class="kdoc-gallery">
<div class="kdoc-gallery__item">
<img src="assets/images/korrespond/form-top.png" alt="Korrespond form — mode toggle, recipient body, output type, tone" class="kdoc-screenshot" loading="lazy">
<p class="kdoc-gallery__caption">The intake form: choose recipient body, output type, and tone in seconds.</p>
</div>
<div class="kdoc-gallery__item">
<img src="assets/images/korrespond/output-draft.png" alt="Korrespond output — two-column side-by-side Norwegian and English draft" class="kdoc-screenshot" loading="lazy">
<p class="kdoc-gallery__caption">Two-column output: Norwegian bokmål canonical on the left, English reference on the right.</p>
</div>
<div class="kdoc-gallery__item">
<img src="assets/images/korrespond/refine-panel.png" alt="Refine panel with jurisdiction options" class="kdoc-screenshot" loading="lazy">
<p class="kdoc-gallery__caption">The optional Refine pass — choose Norwegian law, ECHR, or both.</p>
</div>
<div class="kdoc-gallery__item">
<img src="assets/images/korrespond/output-refined.png" alt="Refined output with formal statute and ECHR citations" class="kdoc-screenshot" loading="lazy">
<p class="kdoc-gallery__caption">After refinement: formal citations like <em>jf. opplæringslova § 9 A-4</em> and <em>EMK artikkel 8</em>.</p>
</div>
</div>
</div>
</section>
<!-- Fine-tuned LLM spotlight -->
<div class="kdoc-section">
<p class="kdoc-section__eyebrow">Under the hood</p>
<h2 class="kdoc-section__title">Powered by a purpose-built legal LLM.</h2>
<div class="kdoc-llm-spotlight">
<div>
<span class="kdoc-llm-spotlight__badge">Fine-tuned model</span>
<h3 class="kdoc-llm-spotlight__title">dbn-legal-agent</h3>
<p class="kdoc-llm-spotlight__body">A QLoRA fine-tune trained on Norwegian child-welfare and administrative law text. Unlike a general-purpose LLM, dbn-legal-agent understands the procedural vocabulary of forvaltningsloven — what a <em>klage</em> requires, what triggers fvl § 17 consultation rights, how Barnevernet decisions must be reasoned under § 6-3. It runs alongside Azure gpt-4o to shape the structure and register of every draft.</p>
</div>
<div class="kdoc-llm-stats">
<div class="kdoc-llm-stat">
<strong>QLoRA</strong>
<span>fine-tune method</span>
</div>
<div class="kdoc-llm-stat">
<strong>fvl</strong>
<span>procedural vocabulary</span>
</div>
<div class="kdoc-llm-stat">
<strong>gpt-4o</strong>
<span>drafting backbone</span>
</div>
<div class="kdoc-llm-stat">
<strong>3-pass</strong>
<span>pipeline architecture</span>
</div>
</div>
</div>
</div>
<!-- Authority coverage -->
<section class="kdoc-section--alt">
<div class="kdoc-section">
<p class="kdoc-section__eyebrow">Authority coverage</p>
<h2 class="kdoc-section__title">11 presets. Each loads the right statutes automatically.</h2>
<p class="kdoc-section__sub">Selecting a recipient body pre-loads the relevant statute set into the Hard-RAG retrieval. No need to know which laws apply — the tool does that for you.</p>
<div class="kdoc-bodies">
<div class="kdoc-body-card">
<p class="kdoc-body-card__name">Barnehage</p>
<p class="kdoc-body-card__law">barnehageloven · fvl</p>
</div>
<div class="kdoc-body-card">
<p class="kdoc-body-card__name">Skole (1.10. trinn)</p>
<p class="kdoc-body-card__law">opplæringslova · fvl</p>
</div>
<div class="kdoc-body-card">
<p class="kdoc-body-card__name">SFO</p>
<p class="kdoc-body-card__law">opplæringslova · fvl</p>
</div>
<div class="kdoc-body-card">
<p class="kdoc-body-card__name">NAV</p>
<p class="kdoc-body-card__law">NAV-loven · fvl</p>
</div>
<div class="kdoc-body-card">
<p class="kdoc-body-card__name">Bufdir</p>
<p class="kdoc-body-card__law">fvl · EMK Art. 8</p>
</div>
<div class="kdoc-body-card">
<p class="kdoc-body-card__name">Barnevernet</p>
<p class="kdoc-body-card__law">barnevernsloven · fvl · EMK</p>
</div>
<div class="kdoc-body-card">
<p class="kdoc-body-card__name">Kommune (annet)</p>
<p class="kdoc-body-card__law">fvl</p>
</div>
<div class="kdoc-body-card">
<p class="kdoc-body-card__name">Statsforvalteren</p>
<p class="kdoc-body-card__law">fvl · barnevernsloven</p>
</div>
<div class="kdoc-body-card">
<p class="kdoc-body-card__name">Trygderetten</p>
<p class="kdoc-body-card__law">trygderettsloven · fvl</p>
</div>
<div class="kdoc-body-card">
<p class="kdoc-body-card__name">Tingretten</p>
<p class="kdoc-body-card__law">tvisteloven · EMK Art. 6</p>
</div>
<div class="kdoc-body-card">
<p class="kdoc-body-card__name">Annet</p>
<p class="kdoc-body-card__law">fvl (general)</p>
</div>
</div>
</div>
</section>
<!-- CTA strip -->
<section class="kdoc-cta-strip">
<h2 class="kdoc-cta-strip__title">Ready to draft your letter?</h2>
<p class="kdoc-cta-strip__sub">Free for Do Better Norge members. No credit card required.</p>
<div class="kdoc-hero__ctas">
<?php if ($isAuthed): ?>
<a href="/korrespond.php" class="kdoc-btn-primary">Open Korrespond &rarr;</a>
<?php else: ?>
<a href="<?= htmlspecialchars($toolsLogin) ?>" class="kdoc-btn-primary">Sign in to use Korrespond &rarr;</a>
<a href="<?= htmlspecialchars($registerUrl) ?>" class="kdoc-btn-secondary">Register free</a>
<?php endif; ?>
</div>
</section>
<?php require_once __DIR__ . '/includes/footer.php'; ?>
<script src="assets/js/tools.js" defer></script>
</body>
</html>