I ran a CSFS experiment on Bitcoin Inquisition Signet and got a spend confirmed: https://mempool.space/signet/tx/cc1b6d352f75348b6a52c7f5c68fc5caea2512423e08011e8f69a9bb85195f97 The tapscript is simply: <pubkey> OP_CHECKSIGFROMSTACK The witness provides (sig, msg, script, control_block) . Since (sig, msg) becomes public after spending, if another UTXO is later sent to the same script, anyone could reuse the exact same pair to spend it — because CSFS only enforces: schnorr_verify(pubkey, msg, sig) with no commitment to the spending transaction. By contrast, OP_CHECKSIG signatures commit to the input outpoint, so cross-UTXO reuse is impossible. This leads to three questions: Is cross-UTXO signature reuse an intentional property of CSFS, or a risk that must be handled at the script level? What are the standard patterns to prevent unintended reuse — include the outpoint in msg ? combine with OP_CHECKSIG ? In oracle constructions where reuse is desirable (e.g., attesting...