The revelation principle is a cornerstone tool in mechanism design. It states that one can restrict attention, without loss in the designer’s objective, to mechanisms in which A) the agents report their types completely in a single step up front, and B) the agents are motivated to be truthful. We show that reasonable constraints on computation and communication can invalidate the revelation principle. Regarding A, we show that by moving to multi-step mechanisms, one can reduce exponential communication and computation to linear—thereby answering a recognized important open question in mechanism design. Regarding B, we criticize the focus on truthful mechanisms—a dogma that has, to our knowledge, never been criticized before. First, we study settings where the optimal truthful mechanism is NP-complete to execute for the center. In that setting we show that by moving to insincere mechanisms, one can shift the burden of having to solve the NP-complete problem from the center to one...