generic audit callback