Skip to content

Use a Bloom filter to prevent and or discourage sending the same secret more than once #21

@Gunni

Description

@Gunni

An already sent secret SHOULD be considered compromised if the first link was broken for unknown reasons.

Re-sending a secret, even if it was successfully received the first time, increases the risk of accidental exposure or interception.

  1. User enters secret

  2. Secret is hashed and checked against the bloom filter

    • If not in bloom filter:

      • Update bloom filter with new hash
      • UX unchanged
    • If in bloom filter and rejecting is allowed:

      • Reject secret
    • If in bloom filter and rejecting is not allowed:

      • Inform the user that they should not send a secret more than once
      • Provide a "Continue Anyway" option
      • UX Continues

Note: A Bloom filter with a 1% false positive rate requires only about 800 bytes of memory. If necessary, this can be increased to 1 MB for virtually no error rate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions