<!DOCTYPE HTML>
<html lang="en">
    <head>
        <meta charset='UTF-8'>
        <title>Harddisk.Tools Technology</title>
        <link rel='shortcut icon' href='/ico/favicon.ico' type='image/x-icon'>
        <meta http-equiv='CACHE-CONTROL' content='no-cache'>
        <meta http-equiv='CONTENT-LANGUAGE' content='en'>
        <meta http-equiv='EXPIRES' content='Tue, 15 Sep 2026 19:26:16 GMT'>
        <meta http-equiv='LAST-MODIFIED' content='Thu, 17 Sep 2026 19:26:16 GMT'>
        <meta name='description' content='Architecture for filesystem-scale indexing, local snapshots and Native AOT UI.'>
        <meta name='viewport' content='width=device-width, initial-scale=1.0'>
        <meta property='og:type' content='website'>
        <meta property='og:url' content='https://harddisk.tools/technology'>
        <meta property='og:title' content='Harddisk.Tools Technology'>
        <meta property='og:description' content='Architecture for filesystem-scale indexing, local snapshots and Native AOT UI.'>
        <meta property='og:image' content='https://harddisk.tools/svg/hero-drive-map.svg'>
        <link rel='stylesheet' href='/css/harddisk-tools.css'>

        <script defer src='/js/harddisk-tools.js'></script>

    </head>
    <body class="hdt-site">

<div id="page-91003" class="hdt-shell">


<div id="p91003-block-1" class="hdt-row-block">
<div class="hdt-nav-wrap"><div class="hdt-container hdt-nav"><a class="hdt-brand" href="/"><img src="/svg/logo-mark.svg" alt=""><span>Harddisk.Tools</span></a><button class="hdt-menu-btn" data-menu-toggle aria-label="Menu">☰</button><nav class="hdt-nav-links"><a href="/">Home</a><a href="/features">Features</a><a href="/technology">Technology</a><a href="/forensics">Forensics</a><a href="/benchmarks">Benchmarks</a><a href="/docs">Docs</a><a href="/about">About</a></nav><div class="hdt-nav-actions"><button class="hdt-icon-btn" data-theme-toggle title="Toggle theme">◐</button><a class="hdt-btn hdt-btn-primary" href="/docs">Try the engine</a></div></div></div>

</div>


<div id="p91003-block-2" class="hdt-row-block">
<section class="hdt-page-hero"><div class="hdt-container"><div class="hdt-breadcrumb"><a href="/">Home</a> / Technology</div><span class="hdt-eyebrow">Architecture</span><h1>Separate the storage engine from the presentation layer.</h1><p>The long-term direction is a compact local data layer, immutable/snapshot-style reads, incremental updates and a Native AOT desktop shell.</p></div></section>

</div>


<div id="p91003-block-3" class="hdt-row-block">
<section class="hdt-section"><div class="hdt-container"><div class="hdt-feature-wide"><div class="hdt-feature-copy"><span class="hdt-eyebrow">Pipeline</span><h3>MFT → normalized IDs → local snapshot → query planner.</h3><p>Each boundary exists for a reason: filesystem parsing stays low-level, the data layer owns persistence, and the UI consumes stable projections.</p><ul class="hdt-checks"><li>No SQL types leaking into WinForms</li><li>Set-based snapshot loading</li><li>Immutable read path during reload</li><li>Provider-specific details contained in Data</li></ul></div><img src="/svg/index-engine.svg" alt="Pipeline"></div></div></section>

</div>


<div id="p91003-block-4" class="hdt-row-block">
<section class="hdt-section"><div class="hdt-container"><div class="hdt-section-head"><span class="hdt-eyebrow">Layers</span><h2>Four responsibilities, four clean boundaries.</h2></div><div class="hdt-grid-4"><article class="hdt-card"><div class="hdt-card-icon">I/O</div><h3>Filesystem ingest</h3><p>MFT, USN and file metadata are parsed without UI assumptions.</p></article><article class="hdt-card"><div class="hdt-card-icon">DB</div><h3>Persistence</h3><p>Compact identities, parent chains, volume metadata and reusable hashes.</p></article><article class="hdt-card"><div class="hdt-card-icon">Q</div><h3>Query engine</h3><p>Predicates, ordering, projections, grouping and virtual-folder semantics.</p></article><article class="hdt-card"><div class="hdt-card-icon">UI</div><h3>Native shell</h3><p>Explorer-like navigation with dense grids and storage-specific actions.</p></article></div></div></section>

</div>


<div id="p91003-block-5" class="hdt-row-block">
<section class="hdt-section"><div class="hdt-container"><div class="hdt-feature-wide reverse"><div class="hdt-feature-copy"><span class="hdt-eyebrow">Offline by design</span><h3>A disk does not disappear just because it is unplugged.</h3><p>Volume presence is a state, not the identity of the catalog. Search metadata remains available while content-dependent actions clearly report that the source is offline.</p></div><img src="/svg/offline-catalog.svg" alt="Offline catalog"></div></div></section>

</div>


<div id="p91003-block-6" class="hdt-row-block">
<section class="hdt-section"><div class="hdt-container"><div class="hdt-section-head"><span class="hdt-eyebrow">Data contracts</span><h2>Example query flow.</h2></div><div class="hdt-code-wrap"><button class="hdt-copy" data-copy-target="#tech-code">Copy</button><div class="hdt-terminal"><div class="hdt-terminal-bar"><i></i><i></i><i></i></div><pre id="tech-code">scan volume:disk21 --mode=mft --incremental
index --fields=name,parent,size,mtime,attributes
query "ext:pdf size:&gt;100MB path:*forensic*" --sort=size:desc
dedup --scope=query --hash=blake3 --verify=exact</pre></div></div></div></section>

</div>


<div id="p91003-block-7" class="hdt-row-block">
<footer class="hdt-footer"><div class="hdt-container hdt-footer-grid"><div><a class="hdt-brand" href="/"><img src="/svg/logo-mark.svg" alt=""><span>Harddisk.Tools</span></a><p class="hdt-small">A database-driven concept site rendered by the Harddisk.Tools WebFarm runtime.</p></div><div><h4>Product</h4><a href="/features">Features</a><a href="/technology">Architecture</a><a href="/benchmarks">Benchmarks</a></div><div><h4>Research</h4><a href="/forensics">NTFS &amp; forensics</a><a href="/docs">Documentation</a><a href="/docs#query">Query language</a></div><div><h4>Company</h4><a href="/about">About</a><a href="/about#roadmap">Roadmap</a><a href="/404">404 test</a></div></div></footer>

</div>


<div id="p91003-block-8" class="hdt-row-block">
<div class="hdt-toast" aria-live="polite"></div>

</div>


<div id="p91003-db-actions" class="hdt-container hdt-section-tight">
<div class="hdt-small">DB row navigation test:</div>

<div id="p91003-action-920035" class="hdt-btn hdt-btn-secondary" onclick="location.href=&#39;/&#39;" style="display:inline-flex;cursor:pointer;">
Home row

</div>


<div id="p91003-action-920036" class="hdt-btn hdt-btn-secondary" onclick="location.href=&#39;/docs&#39;" style="display:inline-flex;cursor:pointer;">
Docs row

</div>


</div>


</div>

    </body>
</html>
