What is look-ahead bias?
Look-ahead bias is when a model uses information that was not yet public at the moment it claims to have acted. It makes a strategy look better than it could ever have performed, because the simulated decision was made with facts that only existed later.
The usual cause is not fraud but a join. A backtest reads a fundamentals table keyed on the period a figure covers — say Q4 2018 — and treats that figure as available on the last day of Q4. In reality the 10-K carrying it was accepted by the SEC weeks or months afterwards. Every trade in that window was made with a number nobody had.
It is difficult to detect from results alone, because the symptom is simply performance that is too good, and a strategy that is too good is rarely investigated as hard as one that is too bad. The reliable defence is structural: filter on the acceptance timestamp rather than the period end, and make that filter part of the data layer rather than something each analyst remembers to apply.
Look-ahead bias and survivorship bias travel together and are often confused. Look-ahead is about WHEN you knew something; survivorship is about WHICH companies you were allowed to see. A universe can be free of one and full of the other.