summaryrefslogtreecommitdiffstats
path: root/katzenpost/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'katzenpost/README.md')
-rw-r--r--katzenpost/README.md30
1 files changed, 30 insertions, 0 deletions
diff --git a/katzenpost/README.md b/katzenpost/README.md
new file mode 100644
index 0000000..938c2b0
--- /dev/null
+++ b/katzenpost/README.md
@@ -0,0 +1,30 @@
+# Katzenpost YAMN dispatcher
+
+The dispatcher runs on `kvara`. It is a send-only Katzenpost service: it
+receives an already encrypted YAMN packet and forwards it to the selected YAMN
+entry remailer using SMTP. It never receives a browser request and must not
+implement fetch, view, AEC, replies, or message storage.
+
+`pietro` is responsible for building the YAMN packet and submitting the opaque
+envelope to the Katzenpost service through `kpclientd`.
+
+## Trust boundary
+
+The only data the dispatcher may see is:
+
+- the entry remailer SMTP address;
+- the complete, already encrypted YAMN envelope.
+
+It must reject all other recipient domains and must not write payloads,
+subjects, addresses, or SMTP transcripts to disk or logs.
+
+## Deployment shape
+
+```text
+pietro: yamnweb onion service -> local kpclientd -> Katzenpost
+ -> kvara dispatcher -> YAMN entry SMTP
+```
+
+The service capability name is `yamn-dispatch-v1`. It must be registered in
+the Katzenpost PKI before `pietro` can discover it. The code is intentionally
+not configured with live hosts, credentials, or service keys.