As for whether de facto specifically is hyphenated, go look it up yourself. Latin phrases are not hyphenated; that's generally agreed. This is because they are easily seen to hang together as a single unit without the added help of a hyphen, so the hyphen is redundant in this case. But yes, I am aware that most pairs of words used as a modifier, as in this case, would be hyphenated. I own about eight style guides, so I wasn't just going off randomly about that.