Is there a word, phrase or idiom that describes someone who is no longer deceived?
How about see the light?
The Free Dictionary:
see the light: to understand something clearly at last; to understand something clearly, especially after you have been confused about it for a long time
see the light: to gain an understanding of something previously not understood, especially in a sudden insight
"Someone who is no longer deceived" is someone who has at long last seen the light.
I would say they were 'enlightened'.
- Educated or informed
- Made aware of something
- Freed from illusion
- Exceedingly wise
After you wise up [TFD]
to make or become aware, informed, or sophisticated.
you will see through [TFD] someone or something
to understand or detect the true nature of someone or something. You can't fool me anymore. I can see through you and all your tricks. This plan is designed to make money for you, not to help people. I can see through it! I'm not a fool!
The scales fell from her eyes
From The Free Dictionary
if the scales fall from someone's eyes, they are suddenly able to understand the truth. [Example] When I saw his photograph in the paper, the scales fell from my eyes and I realized I'd been conned.
The origin is Biblical (Acts 9:18). From BibleHub
New International Version: Immediately, something like scales fell from Saul's eyes, and he could see again. He got up and was baptized,
After spending sometime trying to figure out what had just happened the penny dropped, and I realized that I had been swindled out of my money by a smooth-talking snake oil salesman!
penny dropped: (British & Australian) If you say the penny drops you mean that you have finally understood something (idioms.thefreedictionary.com)
To which one might add the word rumble as in, "He rumbled what was really going in that den of thieves posing as a refuge for distressed gentle folk".
rumble: (UK informal) To discover the true facts about someone or something secret and often illegal. (Cambridge Dictionary)
It is more commonly used with misinformed or incorrect than deceived, but you could possibly use disabused