Decouple generate_signature