@me2em/core
    Preparing search index...

    Variable DERIVATION_PATHSConst

    DERIVATION_PATHS: {
        identity: "me2em/identity/v1/root";
        handle: (name: string) => string;
        subhandle: (handleName: string, subName: string) => string;
        p2pChannelV2: "me2em/p2p-channel/v2";
        password: (revision?: number) => string;
        channel: (revision?: number) => string;
    } = ...

    Deterministic derivation paths for the Me2eM protocol.

    All HKDF info strings used to derive Identity, Handle, and SubHandle keys are centralized here. This guarantees that:

    • Identity.deriveHandle(name) and Handle.deriveSubHandle(subName) produce the same key as Identity.deriveSubHandle(name, subName).
    • Any future change to derivation paths is a single-line edit.

    Type Declaration

    • Readonlyidentity: "me2em/identity/v1/root"

      Info string for deriving the root Identity key from the seed. Constant value: "me2em/identity/v1/root".

    • Readonlyhandle: (name: string) => string

      Builds the info string for deriving a Handle from an Identity.

    • Readonlysubhandle: (handleName: string, subName: string) => string

      Builds the info string for deriving a SubHandle from a Handle.

    • Readonlyp2pChannelV2: "me2em/p2p-channel/v2"

      Info string for peer-to-peer channel key derivation. v2 binds both peers' public keys into the derivation, preventing unknown key-share attacks. The peer keys are appended in sorted order so both parties derive the identical string.

    • Readonlypassword: (revision?: number) => string

      Builds the info string for password (secret) derivation.

      Revision model (PR-8, D3): revision 1 — the initial revision — and an omitted revision both yield the frozen v1 info string, so the default derivation is byte-identical to the pre-revision protocol. Revision N ≥ 2 appends a /rN path segment and derives a secret that is cryptographically independent of revision 1 for the same context — the sanctioned rotation path (specs/v1.0.md §3, PLAN-LTS §4 derivation-freeze rule).

      0.8.0

    • Readonlychannel: (revision?: number) => string

      Builds the info string for channel-key derivation.

      Same revision model as DERIVATION_PATHS.password: revision 1/omitted yields the frozen "me2em/channel/v1"; revision N ≥ 2 yields "me2em/channel/v1/rN" — an independent key for rotating a compromised channel without changing the context.

      0.8.0