Nodes/ComfyUI-CustomNodePacks/Vault input (edit view)
ComfyUI Node

Vault input (edit view)

The Node You Can't Add on Purpose

By Code2Collapse·Created 9 months ago·Updated a day ago· 59
Vault input (edit view)
    • value
    ◄index0►

    You can't add this node from the Add Node menu, and that's deliberate. Vault input (edit view) is hidden from search because you're never meant to add it. It exists only inside the C2C Vault editor tab, while a locked or sealed vault is open for editing, and it's gone when that tab closes. It never runs, it's never saved into a workflow, and there is nothing on it worth tweaking.

    So if one turned up on your canvas, here's what's actually happening.

    What it's standing in for

    C2C Vault, from Code2Collapse's ComfyUI-CustomNodePacks, swallows a selection of nodes and replaces it with one node. The contents travel inside the workflow as AES-256-GCM ciphertext, so whoever you send the .json to sees an opaque node with a handful of inputs and outputs instead of your wiring. The password never becomes a widget value, because widget values get serialised into the workflow and into every queued prompt - the exact file the vault exists to protect.

    The motivation is sharing. Workflows are JSON, they get baked into PNG metadata, and "workflow included" became a community expectation - but handing someone your graph also hands them the pipeline you spent three weeks tuning. The author is blunt about the ceiling, too: a vault has to be decrypted to run, so anyone who can run Python in that process can reach it. A lock on a door, not a safe.

    How the placeholder does its job

    The vault node's interface is positional: ten boundary inputs, eight outputs, plus a clear-text manifest carrying only the names and types you chose. Which internal socket each one maps to lives inside the ciphertext.

    But to edit the graph inside, the editor has to show you the wires coming in from outside - and those wires have to land on real sockets. So opening a vault for editing creates one of these placeholders per boundary input, lines them up in a column on the left, wires each to the exact node input it originally fed, sets index, and renames the title and output label to your interface name. You'll see Vault input 0: image.

    Press Lock & close and the editor reads index back off each placeholder to rebuild the boundary record. The placeholder is the mapping: vault input 0 goes to this node, this socket. Delete one and the interface stops matching the graph.

    The two things on it

    index is the only widget, an INT from 0 to 9, filled in by the editor. Don't retype it - it has to agree with the boundary record, or Lock & close refuses with a complaint about an input feeding more than one node input.

    The output is value, typed *. That wildcard is the point: a vault input can carry an IMAGE, a MASK, a LATENT, a MODEL, a string. Whatever crossed the selection on the outside is what the placeholder hands to the node inside.

    One rule that trips people up: a vault input feeds exactly one node input. If two nodes inside both need the incoming image, that's two boundary inputs on the vault, not one wire forked twice. While a vault is being edited its interface is frozen - rewire freely, but to change its shape you lock and re-lock from a fresh selection.

    Installing the pack

    ComfyUI Manager → search "CustomNodePacks", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Code2Collapse/ComfyUI-CustomNodePacks.git
    

    Then restart and look for the pack's 111 nodes loaded … 0 failed line in the console. requirements.txt wants opencv-python, scipy, safetensors and cryptography>=41.0; read it before installing wholesale, because the README's warning about clobbering ComfyUI's own torch is real. The vault imports Argon2id from cryptography.hazmat.primitives.kdf.argon2 whenever it locks or unlocks, so a stale cryptography in your environment is the realistic way this breaks.

    When it goes wrong

    The one error you'll actually see, if you try to queue from the edit tab:

    RuntimeError: This is a vault editor placeholder: lock the vault to use it.
    

    That's the placeholder's entire execute(). The tab also refuses Save, Save As, Export and Queue on purpose, so the fix is Lock & close, then run the vault node from the outer workflow.

    If Lock & close reports Vault input N (…) is not connected to anything inside, the placeholder is floating - reconnect it rather than deleting it. And the edit tab is never persisted, so a reload or a crash loses whatever you'd rewired while the outer workflow keeps the last good ciphertext. Sessions close after 30 minutes idle, and five wrong authenticator codes pause editing for five minutes. Annoying, but it's what stops someone else on the machine opening your vault.

    Category🐺 C2C/🧰 Core/Vault

    Inputs (1)

    NameTypeDefaultDescription
    indexINT00–9—

    Outputs (1)

    NameTypeDescription
    value*—