{"_id":"@2fapi/protocol-spec","_rev":"3-631e0f90072ff0c3d543251a6b34815a","name":"@2fapi/protocol-spec","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@2fapi/protocol-spec","version":"1.0.0","keywords":["zkproof","authentication","api-security","pedersen","sigma-protocol","ristretto255","zero-knowledge"],"author":{"name":"Continuum Identity","email":"contact@continuum-identity.com"},"license":"Apache-2.0","_id":"@2fapi/protocol-spec@1.0.0","maintainers":[{"name":"plu9in","email":"plu9in@gmail.com"}],"homepage":"https://gitlab.continuum-identity.com/continuum-identity/2fapi","dist":{"shasum":"08cfaf455c1bf4cea1edf050a02255bb1c944d97","tarball":"https://registry.npmjs.org/@2fapi/protocol-spec/-/protocol-spec-1.0.0.tgz","fileCount":8,"integrity":"sha512-MJ/0vsLCsLwvxb6rlY8DbA+hKWHl1IU1ENqzQUyRzlllraB+G9TXASS/n2REfh2a6w974LovlZaX52hw8aTZXw==","signatures":[{"sig":"MEQCIAx+yVIweLjN2IcYBKQOjiC0UZDlP2t2MogdRx5rOT6XAiAOiBrWYhBXU24S0pRHGe+wV/FHJK6SguQG6f3RhlkkTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23549},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"e7376810e36ac1b77bdacb32bad86f65adec9e14","scripts":{"build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"plu9in","email":"plu9in@gmail.com"},"repository":{"url":"https://gitlab.continuum-identity.com/continuum-identity/2fapi.git","type":"git","directory":"packages/protocol-spec"},"_npmVersion":"11.5.1","description":"2FApi Protocol Specification — Zero-Knowledge Proof Authentication for APIs","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/protocol-spec_1.0.0_1774611545086_0.8377340508706479","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@2fapi/protocol-spec","version":"1.0.1","keywords":["zkproof","authentication","api-security","pedersen","sigma-protocol","ristretto255","zero-knowledge"],"author":{"name":"Continuum Identity","email":"contact@continuum-identity.com"},"license":"Apache-2.0","_id":"@2fapi/protocol-spec@1.0.1","maintainers":[{"name":"plu9in","email":"plu9in@gmail.com"}],"homepage":"https://github.com/gthstepsecurity/2fapi-sdk","bugs":{"url":"https://github.com/gthstepsecurity/2fapi-sdk/issues"},"dist":{"shasum":"c7026e594c8c96f4b81099eccaefa08d39c4422f","tarball":"https://registry.npmjs.org/@2fapi/protocol-spec/-/protocol-spec-1.0.1.tgz","fileCount":8,"integrity":"sha512-cFgEvIShlLtv3jqRycdRPM8vDqygI8eJ93YGg+5gM0QuIPoxnrs9t7Jstov1h7GRrHGdny1qU6yEW5EBmxTLSQ==","signatures":[{"sig":"MEYCIQDY+XV1D1a6RHs96XIgggTLmIZ8FXoIWfRalx9tQQ1miAIhANowZOWr+GyGw9DBLDDqrZZeKPJhMFAV+ZT9ZtdjOSAE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23696},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"84d46b3e18e9b8800608cccd7689eaad4e74e163","scripts":{"build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"plu9in","email":"plu9in@gmail.com"},"repository":{"url":"git+https://github.com/gthstepsecurity/2fapi-sdk.git","type":"git","directory":"packages/protocol-spec"},"_npmVersion":"11.5.1","description":"2FApi Protocol Specification — Zero-Knowledge Proof Authentication for APIs","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/protocol-spec_1.0.1_1774613027018_0.6504796309430778","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@2fapi/protocol-spec","version":"1.1.0","description":"Continuum Ghost Protocol Specification — Zero-Knowledge Proof Authentication for APIs","license":"Apache-2.0","author":{"name":"Continuum Identity","email":"contact@continuum-identity.com"},"homepage":"https://github.com/gthstepsecurity/2fapi-sdk","repository":{"type":"git","url":"git+https://github.com/gthstepsecurity/2fapi-sdk.git","directory":"packages/protocol-spec"},"keywords":["zkproof","authentication","api-security","pedersen","sigma-protocol","ristretto255","zero-knowledge"],"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc","clean":"rm -rf dist"},"devDependencies":{"typescript":"^6.0.2"},"_id":"@2fapi/protocol-spec@1.1.0","gitHead":"7a7a349ed6306306a840db2c7ae3ee939ce3a292","bugs":{"url":"https://github.com/gthstepsecurity/2fapi-sdk/issues"},"_nodeVersion":"22.17.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-vT7FflJEdyiV7mv9SspwYzSOHXg2xWUiVrVWaTIbNBrtWc5qPJnOkKk5AeLpqJKtgPN8tbtvNn3p5dDw/jlGaw==","shasum":"c76c5d36f210db35b36eab405faaa0abf873c0ac","tarball":"https://registry.npmjs.org/@2fapi/protocol-spec/-/protocol-spec-1.1.0.tgz","fileCount":8,"unpackedSize":23821,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDCqYEWnac3jnyz5hm8L+9hL2lAeEJwuq4VYiwPaPTHHgIhAOgEk68x15FRiYM1hqH1LSn7fR6nOOmcm9NpQX/ZxVBr"}]},"_npmUser":{"name":"plu9in","email":"plu9in@gmail.com"},"directories":{},"maintainers":[{"name":"plu9in","email":"plu9in@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/protocol-spec_1.1.0_1774618747198_0.237301874697728"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-27T11:39:04.965Z","modified":"2026-03-27T13:39:07.502Z","1.0.0":"2026-03-27T11:39:05.226Z","1.0.1":"2026-03-27T12:03:47.166Z","1.1.0":"2026-03-27T13:39:07.352Z"},"bugs":{"url":"https://github.com/gthstepsecurity/2fapi-sdk/issues"},"author":{"name":"Continuum Identity","email":"contact@continuum-identity.com"},"license":"Apache-2.0","homepage":"https://github.com/gthstepsecurity/2fapi-sdk","keywords":["zkproof","authentication","api-security","pedersen","sigma-protocol","ristretto255","zero-knowledge"],"repository":{"type":"git","url":"git+https://github.com/gthstepsecurity/2fapi-sdk.git","directory":"packages/protocol-spec"},"description":"Continuum Ghost Protocol Specification — Zero-Knowledge Proof Authentication for APIs","maintainers":[{"name":"plu9in","email":"plu9in@gmail.com"}],"readme":"# @2fapi/protocol-spec\n\n> Canonical protocol specification for Continuum Ghost Zero-Knowledge Proof Authentication.\n\nPart of the **Continuum Ghost** authentication platform — *The Secret That Doesn't Exist*.\n\nThis package contains **no implementation** — only constants, types, and interfaces that define the @2fapi protocol. It is the shared contract between clients and servers.\n\n## Installation\n\n```bash\nnpm install @2fapi/protocol-spec\n```\n\n## What's Included\n\n- **Protocol constants**: version, domain separation tags, byte lengths\n- **TypeScript interfaces**: TranscriptFields, ProofData, ChallengeData, CommitmentData\n- **Error codes**: canonical error codes for all protocol operations\n- **Specification documents**: canonical Fiat-Shamir transcript format, test vectors\n\n## Protocol Overview\n\nContinuum Ghost uses a Schnorr/Sigma proof system over Ristretto255 with Pedersen commitments:\n\n- **Commitment**: `C = s·G + r·H` (client stores secret, server stores commitment)\n- **Proof**: Sigma protocol with Fiat-Shamir transform for non-interactivity\n- **Security**: 128-bit under DLOG assumption in Random Oracle Model\n- **Transcript**: Length-prefixed canonical serialization with domain separation\n\n## Specification\n\nSee [`spec/protocol.md`](https://github.com/gthstepsecurity/2fapi-sdk/blob/main/packages/protocol-spec/spec/protocol.md) for the full protocol specification.\n\n## License\n\nApache-2.0 — Free for any use.\n","readmeFilename":"README.md"}