We should probably check / limit the duration, rather than completely trusting the client.