◆ 署名があるので Cookie のデータをユーザが好きに書き換えられない
  ◆ 書き換えると不正なデータになって無視される
◆ 正常なデータを保存しておいて 後になって過去のデータに戻すことができる
  ◆ 期限ないなら署名とデータが一致する正常なデータ
  ◆ 期限あっても次のリクエストがすぐとは限らないから数秒みたいな短さにはできない
◆ ユーザ ID くらいなら過去のデータに戻しても悪用できないけど
  ◆ ポイントみたいなデータがあれば使ったあとで戻すことができてしまう

Cookie にセッション情報もたせる

前も触れたのですが Node.js フレームワークだと session は ID だけ cookie に保存してサーバローカルにデータを持つのじゃなくて cookie 自体に情報を書いてることが多めです
PHP と違って Node.js 自体にはセッション機能なんてないので フレームワーク次第ですが有名ドコロの Koa と hapi の標準的なものがそうでした
ローカルファイルにおくと複数サーバでスケールできないとかで推奨しないとか言って 機能すらなかったり

cookie の文字数に収まらないとか ユーザ側に持たせたくないときは Redis や MongoDB 推奨らしいです
保存するサービス自体がサーバになっているので 複数のサーバでデータを共有できますからね

とは言っても大きなサービスをつくるわけでもないとそういう保存のためのサーバもソフトも使いたくないです
かと言ってローカル保存はフレームワークの有名ドコロのセッション機能にないので マイナーどころを使うか自作です
cookie に保存とは言っても暗号化したり署名したりしているのでユーザが自由にいじれるわけではないです
なので cookie でいいやとなることが多めです

過去の状態には戻せる

署名のおかげで改ざんはできないと安心して cookie にセッション情報を保存するもので使っていたのですが 結構重要なことに気づいてしまいました

自由には変更できませんが 過去の状態には戻せます

暗号化でも署名でも勝手に変えると不正なものとみなされます
しかし サーバから送られたデータで保存された今の時点の情報は正常なものです
このデータを保存しておいて後から再セットしたらそれも正常なデータとしてサーバは認識します

自分自身のセッションの過去のものなので 他のユーザになりすましたりはできません
それでも過去の状態に戻せるのでゲームで言うリセット&ロードの繰り返しはできます
ユーザが持ってるポイント数がセッションに保存されていたとすれば ポイントを消費したあとで前のセッションに戻せばポイントも復活します
ポイントを消費して代わりに得たなにかも消えますが それが一度見れば満足するタイプのものだったり ガチャのような当たり外れのあるものだったりすると不正行為ができてしまいます

普通はあまりこういう情報はセッションには入れないと思いますが cookie に保存して署名などで変更禁止にしてるだけの場合は特に セッションにはユーザ ID みたいなものしか保存しないように注意したほうが良さそうです
とてもシンプルなものだと DB 準備するのすらパスしてセッションのみに全部保存したりすることがなくはないですからねー
ただ そのレベルのサービスでこんな不正されたところで困るのかという気もしますけど