• §8.7 anchor entrypoint. Encrypts a ChannelTranscript to the L2PS member set, anchors the ciphertext via SR-2, and signs the plaintext hash with the connected Demos key.

    Policy behaviour:

    • none → throws (caller should not have invoked this).
    • recommended → only anchors when consent === true; otherwise returns null.
    • required → always anchors; broadcast failures propagate so the caller's phase can fail per §8.7.

    The SP is deployed via SR-2 with mode: "public" (anyone reads the ciphertext + the public content hash for tamper-evidence; only the owner can overwrite).

    Parameters

    • opts: AnchorEncryptedTranscriptOpts

      Transcript + L2PS instance (for the AES-GCM key) + connected Demos (for the signing key + broadcast) + signer claim + policy/consent.

    Returns Promise<AttestationRef | null>

    { anchor, contentHash } on success, null only when the recommended policy is in effect and consent is missing.

    On policy === "none", non-demos signer, non-member signer, signer-wallet mismatch, or broadcast failure under required policy.