严格安全与断网导出
指令白名单按图类型分开:flowchart 允许 flowchart/subgraph/direction/style 等,sequence 允许 participant/Note/loop/alt 等,class 允许 class/direction/namespace,gantt 允许 title/dateFormat/section。
click、%%{init}、<script>、foreignObject、内联事件、javascript: URI、动态 import、fetch 与外链一律在校验前被拒绝,拒绝信息不含原始源码。生成的 SVG 只用 textContent 转义文本,不含 <a>、脚本或远程 href。
断网时渲染与导出仍在本地完成;计划内 network.requests 为空,明确不依赖 mermaid.ink 或 Kroki。PNG 计划要求先把 SVG 栅格化到 canvas,再按像素采样判定非空白(墨迹像素数、墨迹比例、至少两种颜色),全部通过才允许导出,空白 canvas 会被丢弃并报错。