Release Mail Tools 0.2.0
Verify / verify (push) Canceled after 0s

This commit is contained in:
2026-09-02 10:47:30 +02:00
parent 9bc0870404
commit 2ab972a9f3
35 changed files with 2061 additions and 150 deletions
+14 -4
View File
@@ -1,11 +1,21 @@
# Architecture
The React shell lazy-loads one workbench. `core/mime.ts` turns bounded source
text into immutable-looking header and MIME-part records; parsing never creates
DOM. Transfer decoding consumes a global byte budget. Diagnostics, comparison,
bytes into immutable-looking header and MIME-part records; parsing never creates
DOM. A one-byte internal syntax view preserves arbitrary octets, while every raw
multipart entity records exact offsets into the retained source buffer.
Transfer decoding consumes a global byte budget. Diagnostics, comparison,
canonicalization and redaction are separate pure modules.
`core/mbox.ts` splits bounded mbox/mboxrd containers and derives a presentation
tree from Message-ID, In-Reply-To and References. `core/dkim.ts` implements
bounded RFC 6376 canonicalization and uses WebCrypto for RSA-SHA256 or
Ed25519-SHA256 verification. The key record is explicit user input; the app has
no DNS client and makes no network request.
Only the selected HTML text is passed through DOMPurify. It is then embedded in
an iframe without sandbox capabilities and with an inner policy that denies all
connections and active content. Attachment downloads are explicit Blob URLs
with sanitized filenames. The service worker caches only same-origin app files.
connections and active content. Explicit `cid:` image references can resolve to
small safe image parts already present in the message; no external URI is
retained. Attachment downloads are explicit Blob URLs with sanitized filenames.
The service worker caches only same-origin app files.
+9 -2
View File
@@ -5,9 +5,16 @@ memory. There is no storage, telemetry, analytics, remote-resource request or
server integration. Closing/reloading the page clears the workbench.
Limits reduce accidental resource exhaustion but do not make Mail Tools a
forensic parser. HTML loses links, styling and embedded resources by design.
forensic parser. HTML loses links, styling and external embedded resources by
design; only bounded safe image parts referenced by `cid:` can be embedded.
Downloaded attachments remain untrusted. Authentication results and Received
headers are self-asserted text; no DNS or cryptographic verification occurs.
headers are self-asserted text.
The optional DKIM lab performs local cryptographic verification against a DNS
TXT value pasted by the user. It never resolves DNS, so a passing result means
only that the message bytes match that supplied key. It does not prove that the
key is current, authoritative or obtained securely, and it does not turn other
authentication headers into verified evidence.
Focused redaction removes a fixed set of top-level transport/authentication
headers. It does not rewrite nested `message/rfc822` content and can leave names,