SPF flattening is difficult to get correct and then you have to check it every so often to update it.
DNSControl automates this. https://docs.dnscontrol.org/language-reference/domain-modifi...
(It’s open source)
> SPF record syntax follows one shape:
The first six words do not scream "human written" to me.
I'm sorry this page needs to exist, it's partly my fault. I created the first "large scale" SPF record (for eBay and PayPal), and agreed that this was the best way to do it. I guess the people after me agreed too, because 20 years later it's still pretty much the same shape as when I made it!
But I don't have any regrets, the format was pretty straightforward and offered a lot of flexibility. The biggest issue was the parsing libraries handling all of the "include" statements correctly.