WAVE Email
Inbound capture, sender-authenticity verification, and drafted replies. Inference writes them. A person sends them. There is no path where those two swap.
inbound email
│
▼
verify (SPF/DKIM/DMARC) → normalize → dedupe → store
│
▼
classify + extract action items (governed inference)
│
▼
route by confidence ─▶ worklist + notify
│
▼
draft a threaded reply ─▶ one-click approve ─▶ send
Two verifiers claim to be the verifier. We quarantine.
Inbound mail is the largest untrusted-input surface WAVE has, and an Authentication-Results header is trivially forgeable: anyone can append a line that says dmarc=pass. The gate trusts exactly one authserv-id and reads exactly one entry. Two entries claiming that id is not a tie to break, it is an attack shape, so the verdict fails closed.
0 trusted entries ─▶ quarantine no-trusted-authserv 2 trusted entries ─▶ quarantine ambiguous, fail closed 1 trusted entry ─▶ read spf · dkim · dmarc, then route
A header that is present but unparseable counts as missing, never as a pass. A spoofed sender does not reach a human worklist, so it never reaches a drafted reply.
Email is one call shape on WAVE, media infrastructure for the agentic internet. Auth, entitlement and metering settle at api.wave.online on the key you already hold, so an agent reads this page and calls the platform at the same address a person does.