{
  "@context": "https://schema.org",
  "@type": "TechArticle",
  "@id": "nodeflow-technical-disclosure",
  "name": "NodeFlow Technical Disclosure",
  "headline": "NodeFlow Technical Disclosure",
  "description": "Technical disclosure of the NodeFlow identity, bonding, verification, continuity, encryption, transport, and trust boundary model.",
  "datePublished": "2026-04-04",
  "dateModified": "2026-07-21",
  "inLanguage": "en",
  "isAccessibleForFree": true,
  "project": "NodeFlow",
  "artifactType": "technical_disclosure",
  "identifier": "nodeflow-technical-disclosure",
  "status": "technical disclosure",
  "domain": "systems architecture",
  "author": "Jaret Walker",
  "originalPublicationDate": "2026-04-04",
  "updatedDate": "2026-07-21",
  "canonicalReadableArtifact": "HTML",
  "archivalArtifact": "PDF",
  "machineReadableArtifact": "JSON",
  "components": [
    {
      "name": "Negentron",
      "role": "deterministic node identity generator"
    },
    {
      "name": "Bondatron",
      "role": "system to node bonding mechanism"
    },
    {
      "name": "Veritron",
      "role": "deterministic verification and continuity advancement"
    },
    {
      "name": "Movitron",
      "role": "nested encryption and transport"
    },
    {
      "name": "Membrane",
      "role": "public verification boundary"
    },
    {
      "name": "Lumen",
      "role": "internal payload processing"
    }
  ],
  "negentron": {
    "privateKey": "derive_key(seed_material)",
    "publicKey": "compress(public(private_key))",
    "nodeId": "HASH(public_key)"
  },
  "bondatron": {
    "bond": "sign(system_private_key, node_id || public_key)",
    "verification": "verify(system_public_key, node_id || public_key, bond)"
  },
  "veritron": {
    "build": {
      "payloadHash": "HASH(prev_hash || payload || timestamp)",
      "payloadSignature": "sign(private_key, payload_hash)"
    },
    "verify": [
      "HASH(public_key) == node_id",
      "verify(system_public_key, node_id || public_key, bond)",
      "verify(public_key, payload_hash, payload_signature)",
      "payload_hash == HASH(prev_hash || payload || timestamp)",
      "prev_hash == current last_hash"
    ],
    "continuity": "last_hash = payload_hash",
    "resync": {
      "challenge": "HASH(node_id || context)",
      "challengeSignature": "sign(private_key, node_id || challenge)",
      "verification": "verify(public_key, node_id || challenge, challenge_signature)",
      "continuityRecovery": "prev_hash = current last_hash"
    }
  },
  "movitron": {
    "nodeToMembrane": {
      "payloadBody": "encrypt_for_lumen(payload.body)",
      "innerObject": [
        "node_id",
        "public_key",
        "bond",
        "prev_hash",
        "payload_hash",
        "payload_signature",
        "timestamp",
        "payload",
        "metadata"
      ],
      "outerRequest": [
        "sender_public_key",
        "nonce",
        "ciphertext"
      ],
      "outerEncryption": "encrypt_for_membrane(inner_object)"
    }
  },
  "membrane": {
    "decryption": "decrypt_for_membrane(outer_request.ciphertext)",
    "senderBinding": "sender_public_key == inner_object.public_key",
    "verification": [
      "verify identity",
      "verify bond",
      "require bonded == true",
      "verify signature",
      "verify payload hash",
      "verify continuity"
    ],
    "payloadBodyState": "remains encrypted"
  },
  "membraneToLumen": "validated payload -> internal Lumen processing",
  "lumen": {
    "payloadBody": "decrypt_for_lumen(payload.body)",
    "processing": "process(payload.body)",
    "responseBody": "encrypt_body_for_node(response_plaintext)"
  },
  "membraneToNode": {
    "responseObject": [
      "body",
      "metadata"
    ],
    "outerResponse": [
      "sender_public_key",
      "nonce",
      "ciphertext"
    ],
    "transportEncryption": "encrypt_transport_for_node(response_object)",
    "connection": "response returned over the existing TCP connection"
  },
  "node": {
    "transportResponse": "decrypt_transport_response(outer_response.ciphertext)",
    "responseBody": "decrypt_response_body(response.body)"
  },
  "innerObject": [
    "node_id",
    "public_key",
    "bond",
    "prev_hash",
    "payload_hash",
    "payload_signature",
    "timestamp",
    "metadata",
    "payload"
  ],
  "metadata": [
    "host",
    "port"
  ],
  "retainedState": [
    {
      "field": "node_id",
      "purpose": "identifies the Node"
    },
    {
      "field": "last_hash",
      "purpose": "enforces continuity"
    },
    {
      "field": "bonded",
      "purpose": "permits individual Node disablement"
    }
  ],
  "temporaryChallengeState": [
    "node_id",
    "challenge",
    "issued_at",
    "expires_at"
  ],
  "statementOfDisclosure": [
    "This document establishes a public technical description of the NodeFlow system as originally disclosed on April 4, 2026, and updated on July 21, 2026.",
    "Equivalent cryptographic algorithms, key formats, encodings, or transport methods that preserve the same identity, bonding, verification, continuity, encryption, and trust boundary model are considered implementations of this system."
  ],
  "records": [
    "https://web.archive.org/web/20260309024414/https://silogic.foundation/",
    "https://web.archive.org/web/20260322203038/https://silogic.foundation/",
    "https://web.archive.org/web/20260405003918/https://silogic.foundation/",
    "https://web.archive.org/web/20260721151117/https://silogic.foundation/",
    "https://web.archive.org/web/20260728012519/https://silogic.foundation/nodeflow/"
  ]
}
