Kanban literally means "signboard" or "visual card," and in Lean it refers to any signal that authorizes movement or production of exactly one container's worth of parts — never more, never in advance. The three classic types authorize three different things, and mixing them up on a map (or in real life) breaks the pull logic they're meant to enforce.
Withdrawal kanban
A withdrawal kanban authorizes moving parts from a supermarket to the process that needs them. It travels WITH the parts, not ahead of them — when a container is pulled, its withdrawal card goes back to the supermarket as the signal that stock was taken. It doesn't tell anyone to make anything; it only moves what already exists.
Production kanban
A production kanban is the signal that actually authorizes upstream to make a replacement. When a withdrawal empties part of a supermarket, the production kanban for that part goes to the upstream process as the trigger to produce exactly one more container's worth — and only one. This is the card that closes the loop Ohno borrowed from the supermarket shelf.
Signal kanban
A signal (or "triangle") kanban is a variant used when a process serves multiple part numbers and changeover is expensive — instead of triggering production one container at a time, it's placed at a reorder-point quantity in the supermarket and only triggers a full production batch once stock drops to that point. It's the mechanism that lets a shared, changeover-heavy resource still run on pull instead of reverting to a push schedule.
Reading them on a map
PruneChart models all three as distinct node types so a value stream map shows the actual authorization loop, not just "there's a kanban somewhere here": withdrawal and production kanban sit between a supermarket and its consuming/producing processes respectively, and a signal kanban attaches to a supermarket serving a shared, batch-produced part. If your current-state map only has one generic "kanban" box, that's usually a sign the real control mechanism hasn't been nailed down yet — which is exactly the kind of gap a future-state map should close.