digraph email {
        label="Email architecture, torproject.org, April 2022"
        labelloc=bottom
        node [shape=rectangle]

        // a user

        user [shape=triangle]

        // all other boxes that don't do anything special with email
        tpoboxes [label="other TPA hosts"]
        // hosts that manage and send their own email
        mailhosts [color="orange" label="mail hosts\ngitlab, RT, CiviCRM"]
        submission [color=orange]
        // legacy
        eugeni [color=red label="eugeni\nmailman, schleuder\nmx, relay"]
        // external boxes
        dotdotdot [label="internet\nnon TPO mail hosts", shape=ellipse]

        // all relations

        // eugeni handles basically everything except some rare
        // exceptions on mailhosts
        dotdotdot -> { mailhosts, eugeni }
        // users interact with those
        user -> { mailhosts, submission, eugeni }
        // those all relay mail to the outside
        { submission, mailhosts, eugeni } -> dotdotdot
        // except those, who still go through the relay
        tpoboxes -> eugeni
}