Adding to this, hard fail should be used with parked domains without exception. If a domain is not used for sending emails then it should have a null MX and hard fail SPF stating not to trust any IP's or domains.
@ 1d in mx 0 .
@ 1din txt "v=spf1 -all"
@ 1d in caa 0 issue ";"
@ 1d in caa 0 issuewild ";"
dmarc 1d in txt "v=DMARC1;p=reject;sp=reject;pct=100;aspf=s;"
_domainkey 1d in txt "v=DKIM1; p="
_bimi 1d in txt "v=BIMI1; l=; a=;"
* 1d in mx 0 .
* 1d in txt "v=spf1 -all"
*._domainkey 1d in txt "v=DKIM1; p="
* 1d in caa 0 issue ";"
* 1d in caa 0 issuewild ";"