SPF checks the envelope sender (Return-Path / MAIL FROM), not the From: header that users see. Attackers can pass SPF on the envelope address while forging the From: header. DMARC alignment is what ties SPF to the From: header — requiring the envelope sender domain to match the From: domain.
All questions