reCAPTCHAのtimeout-or-duplicateは無視してはいけない

フォームにreCAPTCHA v3を置いたときに、発行したトークンが2分でタイムアウトしてしまう。そのためエラー理由にtimeout-or-duplicateが返ってきた場合にも成功扱いにする、という回避策があるらしい。
しかしこのエラーコードは名前の通り、トークン重複利用の場合でも返ってくる。
要は一回人間が操作したときのreCAPTCHAのフォーム値が再利用できるようになるということで、いくらでもbotが通過できるようになり、reCAPTCHAが無意味になる。
timeout-or-duplicateエラーはエラーとして扱わないといけない。エラーは無視してはいけない。いや、何を当たり前のことを。

このエラーの発生を防ぐためには、reCAPTCHA v3についてはユーザアクション時(例えばフォーム送信時)にトークン発行することをドキュメントでは勧めている。
v2でもinvisibleタイプなら同様にできる。