Um registro é uma entrada TXT como v=spf1 ip4:192.0.2.0/24 include:_spf.example.net mx -all. Os mecanismos (ip4, ip6, a, mx, include, exists, ptr, all) são avaliados da esquerda para a direita com os qualificadores + (pass, o padrão), - (fail), ~ (softfail) e ? (neutral); redirect= passa a avaliação para outro domínio. Os resultados possíveis são pass, fail, softfail, neutral, none, temperror e permerror.
O SPF verifica o remetente do envelope (RFC5321.MailFrom, o endereço de devolução), e não o cabeçalho From que o usuário vê, por isso, sozinho, não impede a falsificação do remetente visível; o DMARC exige que o domínio do envelope esteja alinhado com o From. O encaminhamento quebra o SPF porque o IP de quem encaminha não está no registro do domínio original, a menos que o encaminhador reescreva o envelope (SRS).
A avaliação pode acionar no máximo 10 termos que consultam o DNS (RFC 7208 §4.6.4), um limite que longas cadeias de include de remetentes SaaS costumam ultrapassar, gerando permerror. É recomendável que um domínio publique exatamente um registro SPF; dois registros também geram permerror.