22 lines
3.5 KiB
XML
22 lines
3.5 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="720" viewBox="0 0 1200 720" role="img" aria-labelledby="title desc">
|
|
<title id="title">Контракт threat, control и evidence</title>
|
|
<desc id="desc">Показаны обязательные поля учебной модели, принятый план с одной связью control-evidence, ветки отклонения и rollback к snapshot.</desc>
|
|
<defs><marker id="a" markerWidth="10" markerHeight="10" refX="9" refY="3" orient="auto"><path d="M0 0 L10 3 L0 6 Z" fill="#17324d"/></marker></defs>
|
|
<rect width="1200" height="720" fill="#f8fafc"/>
|
|
<text x="70" y="75" font-family="Arial, sans-serif" font-size="34" font-weight="700" fill="#17324d">Контракт: не угадывать пропущенный контекст</text>
|
|
<rect x="70" y="140" width="290" height="370" rx="18" fill="#e8f2ff" stroke="#2176ae" stroke-width="3"/>
|
|
<text x="100" y="190" font-family="Arial, sans-serif" font-size="25" font-weight="700" fill="#17324d">Вход модели</text>
|
|
<text x="100" y="245" font-family="Arial, sans-serif" font-size="21" fill="#17324d">actor</text><text x="100" y="300" font-family="Arial, sans-serif" font-size="21" fill="#17324d">asset</text><text x="100" y="355" font-family="Arial, sans-serif" font-size="21" fill="#17324d">boundary</text><text x="100" y="410" font-family="Arial, sans-serif" font-size="21" fill="#17324d">abuse</text><text x="100" y="465" font-family="Arial, sans-serif" font-size="21" fill="#17324d">control</text>
|
|
<line x1="360" y1="325" x2="500" y2="325" stroke="#17324d" stroke-width="5" marker-end="url(#a)"/>
|
|
<rect x="500" y="165" width="330" height="320" rx="18" fill="#e3f4e6" stroke="#287744" stroke-width="3"/>
|
|
<text x="665" y="215" text-anchor="middle" font-family="Arial, sans-serif" font-size="25" font-weight="700" fill="#185d31">accepted plan</text>
|
|
<text x="535" y="270" font-family="Arial, sans-serif" font-size="20" fill="#17324d">threat → unsigned request</text><text x="535" y="325" font-family="Arial, sans-serif" font-size="20" fill="#17324d">control → signed-request</text><text x="535" y="380" font-family="Arial, sans-serif" font-size="20" fill="#17324d">evidence → local rejection</text><text x="535" y="435" font-family="Arial, sans-serif" font-size="20" fill="#17324d">rollback → snapshot</text>
|
|
<line x1="830" y1="265" x2="965" y2="265" stroke="#17324d" stroke-width="5" marker-end="url(#a)"/>
|
|
<rect x="965" y="185" width="180" height="160" rx="16" fill="#eee8ff" stroke="#6a52a3" stroke-width="3"/>
|
|
<text x="1055" y="245" text-anchor="middle" font-family="Arial, sans-serif" font-size="23" font-weight="700" fill="#4b3881">one evidence</text><text x="1055" y="280" text-anchor="middle" font-family="Arial, sans-serif" font-size="18" fill="#17324d">for one control</text>
|
|
<path d="M250 510 V595 H950 V485" fill="none" stroke="#6a52a3" stroke-width="4" stroke-dasharray="11 9" marker-end="url(#a)"/>
|
|
<text x="600" y="630" text-anchor="middle" font-family="Arial, sans-serif" font-size="20" font-weight="700" fill="#4b3881">rollback restores the teaching snapshot; it is not a deployment rollback</text>
|
|
<rect x="70" y="540" width="235" height="100" rx="12" fill="#ffe4e4" stroke="#c44" stroke-width="2"/>
|
|
<text x="92" y="580" font-family="Arial, sans-serif" font-size="20" font-weight="700" fill="#8e2424">reject</text><text x="92" y="615" font-family="Arial, sans-serif" font-size="17" fill="#3c2424">missing asset / unknown control</text>
|
|
</svg>
|