Humo y espejos es una metáfora para una explicación o descripción engañosa, fraudulenta o insustancial. El origen de este nombre se basa en las ilusiones de los magos, en las que utilizan humo y espejos para crear ilusiones como la desaparición de objetos. La expresión puede tener una connotación de virtuosismo o habilidad a la hora de llevar a cabo el truco en cuestión.
En el campo de la programación informática, se usa para describir un programa o funcionalidad que todavía no existe, pero se hace creer que sí. Esto se lleva a cabo con frecuencia mostrando cómo resultará un proyecto o funcionalidad cuando esté implementada, cuando todavía no lo está. Esta estrategia no se recomienda en absoluto a la hora de demostrar ningún tipo de aplicación, ya que puede generar demasiadas expectativas de funcionalidades poco probables de proporcionar.