...when declared in config, the keys are just "tools.staticdir.*", not "cherrypy.tools.staticdir.*".
Config keys get split on ".", and the first atom is used to find a config handler for that namespace. So only config keys that start with "tools." will get passed to the "tools" namespace handler.