changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "can_receive_mail": {
+ "description": "False when the domain publishes no MX records.",
+ "type": "boolean"
+ },
+ "checked_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "dmarc": {
+ "properties": {
+ "all_records": {
+ "description": "Present only when more than one DMARC record exists.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "found": {
+ "type": "boolean"
+ },
+ "meaning": {
+ "type": "string"
+ },
+ "multiple_records": {
+ "description": "RFC 7489 requires receivers to apply NO policy when more than one record exists.",
+ "type": "boolean"
+ },
+ "percent": {
+ "description": "The pct= tag; defaults to 100.",
+ "type": "integer"
+ },
+ "policy": {
+ "description": "\"ignored\" means duplicate records cancelled the policy out.",
+ "enum": [
+ "none",
+ "quarantine",
+ "reject",
+ "ignored",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "protects": {
+ "description": "False for p=none (monitoring only) and for duplicate records.",
+ "type": "boolean"
+ },
+ "record": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "domain": {
+ "type": "string"
+ },
+ "findings": {
+ "description": "One line per specific problem; empty when the domain is correctly configured.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "mx": {
+ "properties": {
+ "found": {
+ "description": "Whether any MX record exists.",
+ "type": "boolean"
+ },
+ "hosts": {
+ "description": "MX hosts, lowest priority first.",
+ "items": {
+ "properties": {
+ "host": {
+ "description": "Mail exchanger hostname.",
+ "type": "string"
+ },
+ "priority": {
+ "description": "Lower is preferred.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "spf": {
+ "properties": {
+ "found": {
+ "type": "boolean"
+ },
+ "meaning": {
+ "description": "What the qualifier means in practice.",
+ "type": "string"
+ },
+ "multiple_records": {
+ "description": "More than one SPF record: receivers treat this as permerror, so SPF effectively fails.",
+ "type": "boolean"
+ },
+ "qualifier": {
+ "description": "The qualifier on the `all` mechanism.",
+ "enum": [
+ "fail",
+ "softfail",
+ "neutral",
+ "pass",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "record": {
+ "description": "The raw SPF TXT record, or null when absent.",
+ "type": "string"
+ },
+ "strict": {
+ "description": "True only for `-all`, the one strict answer.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "spoofable": {
+ "description": "True unless DMARC is present AND at an enforcing policy. Deliberately conservative: without enforcement a receiver has no instruction to reject forged mail, however good the SPF record is.",
+ "type": "boolean"
+ },
+ "summary": {
+ "description": "Plain-language verdict.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "domain",
+ "can_receive_mail",
+ "spoofable",
+ "summary"
+ ],
+ "type": "object"
+}