Initial commit
[opendmarc.git] / usr / share / doc / opendmarc / README.schema
1 This directory contains the OpenDMARC schema plus any related files.
2
3 The tables in this schema are populated by the opendmarc filter as it processes
4 messages and downloads policies. The rows are then consumed by the scripts
5 in the "reports" directory to generate regular aggregate reports.
6
7 The tables are summarized here:
8
9 domains A table that maps domain names to unique integer IDs.
10 Automatically tracks a "first seen" timestamp, and includes
11 a column to record when the last report was sent.
12
13 reporters A table mapping reporting hosts to unique integer IDs.
14 Intended for use by multi-MX systems so it's possible to tell
15 where an inbound message landed.
16
17 ipaddr A table mapping IP addresses (as strings) to unique IDs.
18 Also tracks the "first seen" timestamp for each.
19
20 messages A table tracking salient properties of all messages received.
21 A messages is uniquely identified by a {date, jobid, reporter}
22 tuple. Includes references to the "domains" table to track
23 the RFC5321.MailFrom domain, the RFC5322.From domain.
24 Also records the count of DKIM signatures, the SPF result,
25 and whether or not the SPF result was aligned with the
26 RFC5322.From domain.
27
28 signatures A table tracking DKIM signatures, each of which refers to
29 a rown in the "messages" table. Tracks the signing domain,
30 whether the signature passed, whether there was a verification
31 error other than a broken signature, and whether or not the
32 signing domain aligned with the RFC5322.From domain.
33
34 requests A table containing a cache of DMARC reporting requests.
35 For each domain, the destination reporting URI for aggregate
36 reports is recorded along with a "last report sent" timestamp.
37
38 --
39 Copyright (c) 2012, The Trusted Domain Project. All rights reserved.