Yesod book говорит
Шифрование не позволяет пользователю проверять данные, а подпись гарантирует, что сеанс не может быть захвачен или подделан.
Мне непонятно, почему это так. Если перехватчик захватывает куки файл, когда он отправляется с сервера и использует его до того, как законный пользователь сделает другой запрос, не будет ли захвачен сеанс?
Мне кажется, что единственный способ действительно предотвратить захват сеанса - использовать SSL повсюду. Но если я это сделаю, то подписание и шифрование, сделанное Yesod, становятся ненужными накладными расходами (EDIT: накладные расходы, связанные с предотвращением угона). Как отмечает @sr_ в комментариях, это все равно полезно в противном случае).