# 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.
