Services can see almost as much information as a server. This means that granting a service connection should be considered with as much care as granting a server connection. In particular, the service type should be limited to the strict minimum needed for the service to be operational. In most cases, a service type of 0 is enough.
A great care should be taken to make sure that a service cannot be (ab)used to obtain information not normally accessible to users (such as showing invisible users). Administrators must remember that the privacy of the users is at stake.
To avoid confusion, it is a good idea to obey the following simple rules:
The name should be descriptive, and if possible unique on the network.
The service ``information'' should be short and descriptive.
The service must reply to at least 2 queries:
Name and e-mail address of the administrator.
List of queries understood by the service. Each query should also have an help.
These queries should also be understood by the service:
This should be a short text explaining what the service and its purpose are.
The version of the running code.
Also, since services are not affected by flood control, they can easily flood the IRC network with information. They should be conceived so this does not happen.
Services should implement their own flood control (for outgoing traffic) to be safe.