62 lines
6.8 KiB
XML
62 lines
6.8 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="720" viewBox="0 0 1200 720" font-family="Inter, 'Segoe UI', Arial, sans-serif">
|
||
<defs>
|
||
<marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0 0 L10 5 L0 10 z" fill="#4A4A50"/></marker>
|
||
<marker id="arrow-start" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0 0 L10 5 L0 10 z" fill="#4A4A50"/></marker>
|
||
</defs>
|
||
<rect x="0" y="0" width="1200" height="720" fill="#FAFAFB"/>
|
||
<text x="40" y="46" font-size="22" font-weight="600" fill="#1D1D1F" text-anchor="start">Which data can be used where</text>
|
||
<text x="40" y="72" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Each layer is derived from the one above and carries less. Use the lowest layer that is sufficient for a feature.</text>
|
||
<rect x="40" y="100" width="700" height="112" rx="0" fill="#FFFFFF" stroke="#DCDDE3" stroke-width="1"/>
|
||
<rect x="40" y="100" width="4" height="112" fill="#D64545"/>
|
||
<text x="56" y="126" font-size="16" font-weight="600" fill="#1D1D1F" text-anchor="start">Layer 1 · Original evidence</text>
|
||
<text x="56" y="150" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Complete scanner originals: source tables, raw fields, host and account names, GPO</text>
|
||
<text x="56" y="169" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">customer values (Istwert), file names.</text>
|
||
<rect x="780" y="100" width="380" height="112" rx="0" fill="#F5F5F7" stroke="#DCDDE3" stroke-width="1"/>
|
||
<text x="794" y="126" font-size="14" font-weight="600" fill="#1D1D1F" text-anchor="start">Used by</text>
|
||
<text x="794" y="147" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Work, Finding Reader, Results window,</text>
|
||
<text x="794" y="166" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">internal analysis.</text>
|
||
<text x="794" y="185" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Never leaves ASSESSOR. No AI, no Result DB.</text>
|
||
<rect x="70" y="252" width="640" height="112" rx="0" fill="#FFFFFF" stroke="#DCDDE3" stroke-width="1"/>
|
||
<rect x="70" y="252" width="4" height="112" fill="#E07A1F"/>
|
||
<text x="86" y="278" font-size="16" font-weight="600" fill="#1D1D1F" text-anchor="start">Layer 2 · Canonical model</text>
|
||
<text x="86" y="302" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Normalized and original values side by side, provenance, scores, reviews and</text>
|
||
<text x="86" y="321" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">accepted risks.</text>
|
||
<rect x="780" y="252" width="380" height="112" rx="0" fill="#F5F5F7" stroke="#DCDDE3" stroke-width="1"/>
|
||
<text x="794" y="278" font-size="14" font-weight="600" fill="#1D1D1F" text-anchor="start">Used by</text>
|
||
<text x="794" y="299" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Core evaluation, Context Engine, Report</text>
|
||
<text x="794" y="318" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Engine (reports for the client).</text>
|
||
<text x="794" y="337" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Read-only for engines. No external services.</text>
|
||
<rect x="100" y="404" width="580" height="112" rx="0" fill="#FFFFFF" stroke="#DCDDE3" stroke-width="1"/>
|
||
<rect x="100" y="404" width="4" height="112" fill="#2F6FEB"/>
|
||
<text x="116" y="430" font-size="16" font-weight="600" fill="#1D1D1F" text-anchor="start">Layer 3 · Result DB</text>
|
||
<text x="116" y="454" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Stored, disclosure-checked rows: rule ID, tool, outcome, Sollwert,</text>
|
||
<text x="116" y="473" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">public guidance. Counts, dates, identities redacted.</text>
|
||
<rect x="780" y="404" width="380" height="112" rx="0" fill="#F5F5F7" stroke="#DCDDE3" stroke-width="1"/>
|
||
<text x="794" y="430" font-size="14" font-weight="600" fill="#1D1D1F" text-anchor="start">Used by</text>
|
||
<text x="794" y="451" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Result DB view, API, JSONL export, Compliance</text>
|
||
<text x="794" y="470" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Engine.</text>
|
||
<text x="794" y="489" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Every field classified in</text>
|
||
<text x="794" y="508" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">RESULT_DB_FIELD_DISCLOSURE.</text>
|
||
<rect x="130" y="556" width="520" height="112" rx="0" fill="#FFFFFF" stroke="#DCDDE3" stroke-width="1"/>
|
||
<rect x="130" y="556" width="4" height="112" fill="#2E9E5B"/>
|
||
<text x="146" y="582" font-size="16" font-weight="600" fill="#1D1D1F" text-anchor="start">Layer 4 · AI input</text>
|
||
<text x="146" y="606" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Privacy-safe JSON of Result DB rows and rule-level check text</text>
|
||
<text x="146" y="625" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">for ISO queries.</text>
|
||
<rect x="780" y="556" width="380" height="112" rx="0" fill="#F5F5F7" stroke="#DCDDE3" stroke-width="1"/>
|
||
<text x="794" y="582" font-size="14" font-weight="600" fill="#1D1D1F" text-anchor="start">Used by</text>
|
||
<text x="794" y="603" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Corporate LiteLLM gateway and the embedding</text>
|
||
<text x="794" y="622" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">service, backend only.</text>
|
||
<text x="794" y="641" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Opt-in. Check it with Result DB › Export</text>
|
||
<text x="794" y="660" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">JSON.</text>
|
||
<path d="M390 212 V250" fill="none" stroke="#4A4A50" stroke-width="2" marker-end="url(#arrow)"/>
|
||
<rect x="397" y="221" width="206.00000000000003" height="20" fill="#FAFAFB"/>
|
||
<text x="402" y="236" font-size="14" font-weight="400" fill="#1D1D1F" text-anchor="start">normalize, keep originals</text>
|
||
<path d="M390 364 V402" fill="none" stroke="#4A4A50" stroke-width="2" marker-end="url(#arrow)"/>
|
||
<rect x="397" y="373" width="292.24" height="20" fill="#FAFAFB"/>
|
||
<text x="402" y="388" font-size="14" font-weight="400" fill="#1D1D1F" text-anchor="start">disclosure policy and identity guard</text>
|
||
<path d="M390 516 V554" fill="none" stroke="#4A4A50" stroke-width="2" marker-end="url(#arrow)"/>
|
||
<rect x="397" y="525" width="158.96" height="20" fill="#FAFAFB"/>
|
||
<text x="402" y="540" font-size="14" font-weight="400" fill="#1D1D1F" text-anchor="start">privacy-safe export</text>
|
||
<text x="40" y="696" font-size="14" font-weight="400" fill="#5F6068" text-anchor="start">Testing rule: real client content is never read, logged or screenshotted during development. Use synthetic fixtures.</text>
|
||
</svg>
|