Signatures are an optional extension to the PSYC protocol (a module to be negotiated by the routing layer) which allow to leave out type and name information for variables in a standardized way.

PSYC documentation also references this concept as IDL or interface description language. It is semantically similar to DTDs for XML. See interface for more.

Signatures have to be known in advance, either by standardization or negotiation/state. After that, the data is transfered without naming decoration and decoded according to the signature. This has the advantage of reducing the amount of stuff on the wire, and the disadvantage of no longer being self-explanatory.

Since signatures are also useful at dispatching messages and commands within a PSYC application, it is even more a good idea to make them a part of the protocol.

ppp and psyced both employ a simplified form of signatures for mapping ordered command arguments to named variables.