What if the user doesn't have a public_key set? Or will that be required?