Skip to content

The `tokens` table never has tokens deleted from it

This is the table holding "random tokens". It is populated by VoucherStore.add. Signatures are cleaned up from the corresponding unblinded-tokens table

  • by VoucherStore.discard_unblinded_tokens after they're spent
  • by VoucherStore.invalidate_unblinded_tokens after a spending failure

However, nothing ever removes rows from the tokens table. This means there's a storage leak that grows with the number of tokens acquired. There's also potentially a privacy leak since the random tokens are used during the spending process and therefore they create a link between a client and an operation.