{"_id":"@aerocert/sdk","_rev":"16-1398892fa2986a883489c807b9a3fac2","name":"@aerocert/sdk","dist-tags":{"latest":"0.8.1"},"versions":{"0.1.0":{"name":"@aerocert/sdk","version":"0.1.0","keywords":["aerocert","blockchain","certification","anchoring","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.1.0","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"dist":{"shasum":"2dfde3a9733f8f77f70536df02b42b491428098d","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.1.0.tgz","fileCount":8,"integrity":"sha512-xBbkFhi4jL8T7J+oL6IOPpAaW1VJevHKr61JreyXQnOfp+wsEdfsZogq9DDc8I8YgDJVjXUB9fQ1c0awP32WvA==","signatures":[{"sig":"MEUCIQCE11lhfdMJVVXEiNGv6/zjROxMXKEPJaE8L4CiI8jjJAIgeiAvDpn4DfFMhPEzVrkd8wUiDgRaYQbxBwBv/YmebFM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112350},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"2c05ed79bc5d63b07d0962f324422f2aa30b5081","scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"kepleraviation","email":"support@kepleraviation.io"},"_npmVersion":"11.6.2","description":"Official TypeScript SDK for the AeroCert blockchain certification API","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0_1774431016113_0.18910805948114695","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aerocert/sdk","version":"0.2.0","keywords":["aerocert","blockchain","certification","anchoring","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.2.0","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"dist":{"shasum":"dfa7bc85ef77a296b17fa6124ea37449e2ddd12d","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.2.0.tgz","fileCount":8,"integrity":"sha512-E7xDmxqCQS0bthNk+qjNfxWzGDU/Pap6L47YOkF8kwmANBNvuQoIJiVmSeb8sxylvgPU5bO9bRSifIKeNrM4pg==","signatures":[{"sig":"MEQCIHofUd4bhQBqrWm63k3mOuJVe79YHsq/WlOFuyRUMJnIAiApi9ZGFZVzCU6hjkWqFImhTFUJz11aGHoWF5Y6ACk3dQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112907},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"8cdc1a7fc0c3103b3742b22c8c73a74f07541bf9","scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"kepleraviation","email":"support@kepleraviation.io"},"_npmVersion":"11.6.2","description":"Official TypeScript SDK for the AeroCert blockchain certification API","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.2.0_1775033336397_0.728432738569291","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aerocert/sdk","version":"0.3.0","keywords":["aerocert","blockchain","certification","anchoring","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.3.0","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"dist":{"shasum":"5a4614ea6e9d6b66612468ee23a55bb6f91240d3","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.3.0.tgz","fileCount":9,"integrity":"sha512-tjc75JvJOYPnSk3KGNzx95YyoJJtbaQhxUWIylFvtk7Xlc4o9h0t6gfUjs0y3TyZBlsSU/BOH+NfGy1oUiDa2A==","signatures":[{"sig":"MEQCIFoXxZ1VxyFII+nD9P0DYpBL1V/ipZNc9XAUc6DlBdSUAiBX8ZQKuDRAl+U/TAdfR8MDFw6kQmPCSgHW35uy1eF7uw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124933},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"53bdafca530bc8c3d22d266ee9f1efcdee04243b","scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"kepleraviation","email":"support@kepleraviation.io"},"_npmVersion":"11.6.2","description":"Official TypeScript SDK for the AeroCert blockchain certification API","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^22.19.17"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.0_1776418650586_0.14335809153008472","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@aerocert/sdk","version":"0.6.0","keywords":["aerocert","blockchain","certification","anchoring","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.6.0","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"dist":{"shasum":"a4e0fcd87f2337e5d4009df54f43f2f76ad4b8cd","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.6.0.tgz","fileCount":10,"integrity":"sha512-6OZj0kCHqlQOPX1NX3JGfDo/WoRLB4rVFUh2BbVtQ1qdpP+D3enhFwXSqaHmXl/601dK8qzxOW/mujzOjTv4LA==","signatures":[{"sig":"MEUCIHDBv24CUNipTvRn4/Sng2eHMcz4MUqV06lqjOtKo4SPAiEAlDXMU9mMrHENhD59adRT2nICbQ7ectITf8rowqOXSYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610931},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"b5b0e08333c4ed4706ba22f23e5e6fb04a24e033","scripts":{"test":"npm run build && npm run typecheck:tests && vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","typecheck:tests":"tsc -p tsconfig.test.json --noEmit"},"_npmUser":{"name":"kepleraviation","email":"support@kepleraviation.io"},"_npmVersion":"11.11.0","description":"Official TypeScript SDK for the AeroCert blockchain certification API","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^4.1.5","js-sha3":"^0.8.0","typescript":"^5.5.0","@types/node":"^22.19.17"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.6.0_1778224999744_0.7778882682852213","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@aerocert/sdk","version":"0.7.0","keywords":["aerocert","certificate","privacy","blockchain","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.7.0","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"homepage":"https://github.com/kepler-aviation/aerocert-co#readme","bugs":{"url":"https://github.com/kepler-aviation/aerocert-co/issues"},"dist":{"shasum":"9bd01b0994aa470277ebf5f7f197f1af793ff58b","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.7.0.tgz","fileCount":9,"integrity":"sha512-ThGhX1+0t/I8nzy70CSbuQLCi1ptIAhVW8NDKbFvghcqnRe27pt63hOBw+82k/wzdXSJnuGkHOFtOAEHYPb7sw==","signatures":[{"sig":"MEYCIQDMrgngyWWBx8IQrvmK3TkR0LfB77gTr8p/ieoAa7RUAAIhAJS0G6iOwsSzVKLuOKIvJBE1MFKOY/ZbExh9jEkaMRcD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125520},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"23d1fe21e83c0c4d1d4395c4db02dd3419c68018","scripts":{"test":"vitest run src/index.test.ts","build":"rm -rf dist && tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/write-cjs-package.cjs","test:package":"node tests/esm-consumer.mjs && node tests/cjs-consumer.cjs && tsc -p tsconfig.cjs-consumer.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1b32388-82ad-4b1e-8012-375e7040c2f9"}},"repository":{"url":"git+https://github.com/kepler-aviation/aerocert-co.git","type":"git","directory":"packages/aerocert-sdk"},"_npmVersion":"11.12.1","description":"AeroCert privacy-first SDK for server-to-server certificate issuance.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"jspdf":"^4.2.1","qrcode":"^1.5.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"~5.7.2","@types/qrcode":"^1.5.6"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.7.0_1779194772194_0.8859234813430266","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@aerocert/sdk","version":"0.7.1","keywords":["aerocert","certificate","privacy","blockchain","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.7.1","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"homepage":"https://github.com/kepler-aviation/aerocert-co#readme","bugs":{"url":"https://github.com/kepler-aviation/aerocert-co/issues"},"dist":{"shasum":"79f638426387dba63507465ca4d22e6f9c493a13","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.7.1.tgz","fileCount":9,"integrity":"sha512-n6a0R3INUAbv6ueN0yE5zpLLlM+1ATf0jMVD7QXxE/lU7f18RWhBN51NyATrNdhTQGMFOyUm1B9R1p7KIsh+SQ==","signatures":[{"sig":"MEUCIQDCHXSvkoG4vUI59Xb0k8W9/47GNxqloyZ5+phLGhxecgIgQda08qXuRDXSJen206Arieb12RayFew8yE+0SEdYnDM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131563},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"5fa121c055bb4d78799410ef10c0e3db88f9a2c4","scripts":{"test":"vitest run src/index.test.ts","build":"rm -rf dist && tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/write-cjs-package.cjs","test:package":"node tests/esm-consumer.mjs && node tests/cjs-consumer.cjs && tsc -p tsconfig.cjs-consumer.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1b32388-82ad-4b1e-8012-375e7040c2f9"}},"repository":{"url":"git+https://github.com/kepler-aviation/aerocert-co.git","type":"git","directory":"packages/aerocert-sdk"},"_npmVersion":"11.12.1","description":"AeroCert privacy-first SDK for server-to-server certificate issuance.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"jspdf":"^4.2.1","qrcode":"^1.5.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"~5.7.2","@types/qrcode":"^1.5.6"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.7.1_1779206205758_0.27481599623622355","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@aerocert/sdk","version":"0.7.2","keywords":["aerocert","certificate","privacy","blockchain","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.7.2","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"homepage":"https://github.com/kepler-aviation/aerocert-co#readme","bugs":{"url":"https://github.com/kepler-aviation/aerocert-co/issues"},"dist":{"shasum":"00a999f1fc9e40d584f21c4b383fae9a2b55a9ae","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.7.2.tgz","fileCount":9,"integrity":"sha512-hP2uy9QsA/x5Nn/94okDazjH62/39AHE5uiTPB2yCkdD/zDzFjKd5jCI171Wg2o+S6+8n1QYwxxhM/cP6+t9Bg==","signatures":[{"sig":"MEYCIQDDXBJgmFyo8mfC1CYVyoyyNj8vIz/1+JTadVI5iwNJXQIhAP2vtYZf2B6cXNxr+qtbnLFrHExZHmXDDdrxBrAH945B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169163},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"56cd85d0368efb170e178b8ce7693d381166bfd3","scripts":{"test":"vitest run src/index.test.ts","build":"rm -rf dist && tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/write-cjs-package.cjs","test:package":"node tests/esm-consumer.mjs && node tests/cjs-consumer.cjs && tsc -p tsconfig.cjs-consumer.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1b32388-82ad-4b1e-8012-375e7040c2f9"}},"repository":{"url":"git+https://github.com/kepler-aviation/aerocert-co.git","type":"git","directory":"packages/aerocert-sdk"},"_npmVersion":"11.12.1","description":"AeroCert privacy-first SDK for server-to-server certificate issuance.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"jspdf":"^4.2.1","qrcode":"^1.5.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"~5.7.2","@types/qrcode":"^1.5.6"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.7.2_1779218363361_0.622720983925189","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@aerocert/sdk","version":"0.7.3","keywords":["aerocert","certificate","privacy","blockchain","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.7.3","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"homepage":"https://github.com/kepler-aviation/aerocert-co#readme","bugs":{"url":"https://github.com/kepler-aviation/aerocert-co/issues"},"dist":{"shasum":"9c4148c53494690d815ac898677b9e256e7d9bf9","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.7.3.tgz","fileCount":9,"integrity":"sha512-xLr+p9RHA8/rYwBarGbLPBdobR4w8d2yu8+f/tg3zXQaFzDjI3KKN1U+AT+4SzBPV1Qt5v0f4Wa7WY50K2OJ4Q==","signatures":[{"sig":"MEUCIFAN2snCgy1esROvnLfnFNuxBT6/BreGHdVpv1QruxyzAiEA2aR1Eu3HC48mADIgUzplDtKQ7ZMXn7iAAO35mZ9hg/c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175895},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"f35ca562cee4ef2bbe6e2825be8cd7c26d5a6ec9","scripts":{"test":"vitest run src/index.test.ts","build":"rm -rf dist && tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/write-cjs-package.cjs","test:package":"node tests/esm-consumer.mjs && node tests/cjs-consumer.cjs && tsc -p tsconfig.cjs-consumer.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1b32388-82ad-4b1e-8012-375e7040c2f9"}},"repository":{"url":"git+https://github.com/kepler-aviation/aerocert-co.git","type":"git","directory":"packages/aerocert-sdk"},"_npmVersion":"11.13.0","description":"AeroCert privacy-first SDK for server-to-server certificate issuance.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jspdf":"^4.2.1","qrcode":"^1.5.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"~5.7.2","@types/qrcode":"^1.5.6"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.7.3_1780579488550_0.632402162902358","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@aerocert/sdk","version":"0.7.4","keywords":["aerocert","certificate","privacy","blockchain","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.7.4","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"homepage":"https://github.com/kepler-aviation/aerocert-co#readme","bugs":{"url":"https://github.com/kepler-aviation/aerocert-co/issues"},"dist":{"shasum":"3c97fd353c2056af2d53930201efc1610bc7204c","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.7.4.tgz","fileCount":9,"integrity":"sha512-86mSBzHyrY+OaZYS+wNJZez61reSRneSgICQHrEDpUP4c+zRFyyOwRiKQukZToKb/OhV9U2xy0ZXI8d36HD11g==","signatures":[{"sig":"MEQCIF3YZKBLcga7rRk2U0gWSkBGFe0xZ3ShPyKeE0fLpriVAiAvdktac6TM3lwQiJHfo1FJCIhkpsH6RsOKKWKHln3eaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181013},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"50b48f4dae9fd8097566cc79f2ae78996688ad1f","scripts":{"test":"vitest run src/index.test.ts","build":"rm -rf dist && tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/write-cjs-package.cjs","test:package":"node tests/esm-consumer.mjs && node tests/cjs-consumer.cjs && tsc -p tsconfig.cjs-consumer.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1b32388-82ad-4b1e-8012-375e7040c2f9"}},"repository":{"url":"git+https://github.com/kepler-aviation/aerocert-co.git","type":"git","directory":"packages/aerocert-sdk"},"_npmVersion":"11.13.0","description":"AeroCert privacy-first SDK for server-to-server certificate issuance.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jspdf":"^4.2.1","qrcode":"^1.5.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.2","@types/qrcode":"^1.5.6"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.7.4_1780952577210_0.9667162569432632","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"@aerocert/sdk","version":"0.7.5","keywords":["aerocert","certificate","privacy","blockchain","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.7.5","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"homepage":"https://github.com/kepler-aviation/aerocert-co#readme","bugs":{"url":"https://github.com/kepler-aviation/aerocert-co/issues"},"dist":{"shasum":"c7fe810d752bac8706241ae822fb377b072c728f","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.7.5.tgz","fileCount":9,"integrity":"sha512-lJtRY0E5ZBJMfHTwrHPzB7Na38KQJDpqDP0aB7xor5IgQvSkz7EppX/aZ3/C+rB0WD5cjyfxZqeHGcuTUdN1QA==","signatures":[{"sig":"MEQCIDEO1SVKCL7AdK9h9p0mwpoQWFpJZEXnanjLBwNxBj0rAiBu8blKr2jcp9J2N8ZVDdo+UdZkz6BL0ftPAIZ0rwVuhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190607},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"bb45037869e9e4b0ee3319e269fb12d72c3f05ac","scripts":{"test":"vitest run src/index.test.ts","build":"rm -rf dist && tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/write-cjs-package.cjs","test:package":"node tests/esm-consumer.mjs && node tests/cjs-consumer.cjs && tsc -p tsconfig.cjs-consumer.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1b32388-82ad-4b1e-8012-375e7040c2f9"}},"repository":{"url":"git+https://github.com/kepler-aviation/aerocert-co.git","type":"git","directory":"packages/aerocert-sdk"},"_npmVersion":"11.13.0","description":"AeroCert privacy-first SDK for server-to-server certificate issuance.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jspdf":"^4.2.1","qrcode":"^1.5.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.2","@types/qrcode":"^1.5.6"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.7.5_1780989595102_0.2149589905676932","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"@aerocert/sdk","version":"0.7.6","keywords":["aerocert","certificate","privacy","blockchain","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.7.6","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"homepage":"https://github.com/kepler-aviation/aerocert-co#readme","bugs":{"url":"https://github.com/kepler-aviation/aerocert-co/issues"},"dist":{"shasum":"50489bf3848dd8842d958b08766fd2bdca9ee8bf","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.7.6.tgz","fileCount":9,"integrity":"sha512-tnYvQSzo8Xzt8lAL/6K3fykvaFdrvFmA2H2zswyee2lDOPCI487hbHytfIvZUIB2fyDW+u3Q7brpFgos6cfF8A==","signatures":[{"sig":"MEQCIBwst3dYV5cwmjfeDcxZSSqzSPBp9F8/M8myMaws3Z2QAiAN/fqDptxDosPG3RjKrgY7xIsWLJjli5CD0uruYD1gJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192005},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"abf905956dd272e045b0150ddcde71dd13d482ad","scripts":{"test":"vitest run src/index.test.ts","build":"rm -rf dist && tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/write-cjs-package.cjs","test:package":"node tests/esm-consumer.mjs && node tests/cjs-consumer.cjs && tsc -p tsconfig.cjs-consumer.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1b32388-82ad-4b1e-8012-375e7040c2f9"}},"repository":{"url":"git+https://github.com/kepler-aviation/aerocert-co.git","type":"git","directory":"packages/aerocert-sdk"},"_npmVersion":"11.13.0","description":"AeroCert privacy-first SDK for server-to-server certificate issuance.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jspdf":"^4.2.1","qrcode":"^1.5.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.2","@types/qrcode":"^1.5.6"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.7.6_1780992037464_0.1431484873133566","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"@aerocert/sdk","version":"0.7.7","keywords":["aerocert","certificate","privacy","blockchain","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.7.7","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"homepage":"https://github.com/kepler-aviation/aerocert-co#readme","bugs":{"url":"https://github.com/kepler-aviation/aerocert-co/issues"},"dist":{"shasum":"68828ef435a40f625b74343fc5d810012f2013c7","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.7.7.tgz","fileCount":9,"integrity":"sha512-PvtywfhQXOA8FDcw5CnZ/SxbZ+WuXDkQEst1JbiMiiRzdzFhlDG06xCeMuTDy4qi7I8cgQdA5b7mT1spab9srg==","signatures":[{"sig":"MEUCIQCTM5vd+sCdbsauLgXtnco9QWQfG2EY6g03IjMXHXAI/AIgJGeR2QhD8KX+NejnQp06hqBsMYo0z3hgEr9E/xgZ6OU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201473},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"bc3d8e493646233cb9411b071dabaabe324765e4","scripts":{"test":"vitest run src/index.test.ts","build":"rm -rf dist && tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/write-cjs-package.cjs","test:package":"node tests/esm-consumer.mjs && node tests/cjs-consumer.cjs && tsc -p tsconfig.cjs-consumer.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1b32388-82ad-4b1e-8012-375e7040c2f9"}},"repository":{"url":"git+https://github.com/kepler-aviation/aerocert-co.git","type":"git","directory":"packages/aerocert-sdk"},"_npmVersion":"11.13.0","description":"AeroCert privacy-first SDK for server-to-server certificate issuance.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jspdf":"^4.2.1","qrcode":"^1.5.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.2","@types/qrcode":"^1.5.6"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.7.7_1780993207287_0.8425284211254558","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"name":"@aerocert/sdk","version":"0.7.8","keywords":["aerocert","certificate","privacy","blockchain","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.7.8","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"homepage":"https://github.com/kepler-aviation/aerocert-co#readme","bugs":{"url":"https://github.com/kepler-aviation/aerocert-co/issues"},"dist":{"shasum":"264e210d314435ceb69fb0fbeb5bb1dc8fee296c","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.7.8.tgz","fileCount":9,"integrity":"sha512-PaS9Y4/d6qTwa2JgbcUKueSZTu8NlEsGDvuLbB8GVjx5+AxjB97jwHaFz5PO/K8ImqYPKOv0FNEhfuPt4LcqBw==","signatures":[{"sig":"MEQCIGH9Di5tG5Az7nXtgebcunCwpqQI+xDmLD/AN68nfNHgAiBPWgzB6ZS5k5BGPPGCgL82cMOKX8oVuhbJYay/b93T3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202051},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"738bcac60d44a8ee03dd038a39a0c7a015e9ec5e","scripts":{"test":"vitest run src/index.test.ts","build":"rm -rf dist && tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/write-cjs-package.cjs","test:package":"node tests/esm-consumer.mjs && node tests/cjs-consumer.cjs && tsc -p tsconfig.cjs-consumer.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1b32388-82ad-4b1e-8012-375e7040c2f9"}},"repository":{"url":"git+https://github.com/kepler-aviation/aerocert-co.git","type":"git","directory":"packages/aerocert-sdk"},"_npmVersion":"11.13.0","description":"AeroCert privacy-first SDK for server-to-server certificate issuance.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jspdf":"^4.2.1","qrcode":"^1.5.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.2","@types/qrcode":"^1.5.6"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.7.8_1780997219406_0.8018536047534499","host":"s3://npm-registry-packages-npm-production"}},"0.7.9":{"name":"@aerocert/sdk","version":"0.7.9","keywords":["aerocert","certificate","privacy","blockchain","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.7.9","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"homepage":"https://github.com/kepler-aviation/aerocert-co#readme","bugs":{"url":"https://github.com/kepler-aviation/aerocert-co/issues"},"dist":{"shasum":"d0ac10853c0beb42fd44f51e41898d6dd34d6f60","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.7.9.tgz","fileCount":9,"integrity":"sha512-4ct42VLAnHuLDg0Ga4k4vl222R9L/QXbxdnbD6VjNaN9tsvPk+0tet9QCHwzjmDL57q8IctexNCo8SdCarWXTw==","signatures":[{"sig":"MEUCIQDEWVC+JbBopvVyL3LSo4ktI2GXJVsYyvHF7eBJc6DWyQIgS/97G5RhFi7GeDbAc1uXQrf8P3LdXLHXbeP/wRX8MiU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":210582},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"e725b5810cdba6184a56cf66fc219baa0db95c88","scripts":{"test":"vitest run src/index.test.ts","build":"rm -rf dist && tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/write-cjs-package.cjs","test:package":"node tests/esm-consumer.mjs && node tests/cjs-consumer.cjs && tsc -p tsconfig.cjs-consumer.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1b32388-82ad-4b1e-8012-375e7040c2f9"}},"repository":{"url":"git+https://github.com/kepler-aviation/aerocert-co.git","type":"git","directory":"packages/aerocert-sdk"},"_npmVersion":"11.13.0","description":"AeroCert privacy-first SDK for server-to-server certificate issuance.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jspdf":"^4.2.1","qrcode":"^1.5.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.2","@types/qrcode":"^1.5.6"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.7.9_1781006351642_0.3286797175789471","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@aerocert/sdk","version":"0.8.0","keywords":["aerocert","certificate","privacy","blockchain","sdk"],"license":"MIT","_id":"@aerocert/sdk@0.8.0","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"homepage":"https://github.com/kepler-aviation/aerocert-co#readme","bugs":{"url":"https://github.com/kepler-aviation/aerocert-co/issues"},"dist":{"shasum":"878449aadc0bd75543433ac42973f2ba0ac2c8ef","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.8.0.tgz","fileCount":10,"integrity":"sha512-wajLi6BCj3BC1ynRwsdnNQpEuqg20lxZhV+Y6kxI2ExJVQzxZ3FiQQNQAbbrCIzzQBGabBImzVD8UfF4T4ccmw==","signatures":[{"sig":"MEUCICfXYZZOyQU4ITj/+7JM9FW6ybVTU3P8yleKE39XMlyOAiEA1Qs29ZG0yC13MIGqbOSGU9IwcGRLcCy0UFSxj9/VM7g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256475},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"84ead6a92175805101249d4ca050e7fcac9a1aa9","scripts":{"test":"vitest run src/index.test.ts","build":"rm -rf dist && tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/write-cjs-package.cjs","test:package":"node tests/esm-consumer.mjs && node tests/cjs-consumer.cjs && tsc -p tsconfig.cjs-consumer.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1b32388-82ad-4b1e-8012-375e7040c2f9"}},"repository":{"url":"git+https://github.com/kepler-aviation/aerocert-co.git","type":"git","directory":"packages/aerocert-sdk"},"_npmVersion":"11.13.0","description":"AeroCert privacy-first SDK for server-to-server certificate issuance.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jspdf":"^4.2.1","qrcode":"^1.5.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.2","@types/qrcode":"^1.5.6"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.8.0_1781192870187_0.3584423322906676","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@aerocert/sdk","version":"0.8.1","description":"AeroCert privacy-first SDK for server-to-server certificate issuance.","type":"module","repository":{"type":"git","url":"git+https://github.com/kepler-aviation/aerocert-co.git","directory":"packages/aerocert-sdk"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"build":"rm -rf dist && tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json && node scripts/write-cjs-package.cjs","test":"vitest run src/index.test.ts","test:package":"node tests/esm-consumer.mjs && node tests/cjs-consumer.cjs && tsc -p tsconfig.cjs-consumer.json"},"dependencies":{"jspdf":"^4.2.1","qrcode":"^1.5.4"},"keywords":["aerocert","certificate","privacy","blockchain","sdk"],"license":"MIT","engines":{"node":">=20.0.0"},"devDependencies":{"@types/qrcode":"^1.5.6","typescript":"~5.7.2","vitest":"^4.1.8"},"gitHead":"9525ff7460cd78aed5f5de088234e46c0237b9da","_id":"@aerocert/sdk@0.8.1","bugs":{"url":"https://github.com/kepler-aviation/aerocert-co/issues"},"homepage":"https://github.com/kepler-aviation/aerocert-co#readme","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-XCZrDX6Sxdoj/FAQQdVDqBnA0d/gE+kU7EthoLZzwGsTkxL/gry9rUKmkpxad3nZFV8hjG0TRJloBtUdEpS0Nw==","shasum":"469139d4000b854a558fa9ca70ce38b361beb53a","tarball":"https://registry.npmjs.org/@aerocert/sdk/-/sdk-0.8.1.tgz","fileCount":10,"unpackedSize":275929,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDj2GDP6sPymPPpNTyS3tvqmcIQUrY2nlk+HW1TLPbNCAIgE0kn54jLc0CPa9KCZ+2ulNRCyEdXE6zwiNQ0r0PbJR8="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1b32388-82ad-4b1e-8012-375e7040c2f9"}},"directories":{},"maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.8.1_1781206537397_0.18504218891347946"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-25T09:30:16.038Z","modified":"2026-06-11T19:35:37.613Z","0.1.0":"2026-03-25T09:30:16.275Z","0.2.0":"2026-04-01T08:48:56.531Z","0.3.0":"2026-04-17T09:37:30.755Z","0.6.0":"2026-05-08T07:23:19.908Z","0.7.0":"2026-05-19T12:46:13.625Z","0.7.1":"2026-05-19T15:56:45.888Z","0.7.2":"2026-05-19T19:19:23.499Z","0.7.3":"2026-06-04T13:24:48.713Z","0.7.4":"2026-06-08T21:02:57.342Z","0.7.5":"2026-06-09T07:19:55.290Z","0.7.6":"2026-06-09T08:00:37.612Z","0.7.7":"2026-06-09T08:20:07.422Z","0.7.8":"2026-06-09T09:26:59.525Z","0.7.9":"2026-06-09T11:59:11.806Z","0.8.0":"2026-06-11T15:47:50.352Z","0.8.1":"2026-06-11T19:35:37.521Z"},"bugs":{"url":"https://github.com/kepler-aviation/aerocert-co/issues"},"license":"MIT","homepage":"https://github.com/kepler-aviation/aerocert-co#readme","keywords":["aerocert","certificate","privacy","blockchain","sdk"],"repository":{"type":"git","url":"git+https://github.com/kepler-aviation/aerocert-co.git","directory":"packages/aerocert-sdk"},"description":"AeroCert privacy-first SDK for server-to-server certificate issuance.","maintainers":[{"name":"kepleraviation","email":"support@kepleraviation.io"}],"readme":"# @aerocert/sdk\n\nPrivacy-first AeroCert SDK for server-to-server issuance.\n\nThe SDK mirrors the `/tokenize` happy path for client software:\n\n1. Canonicalize the JSON payload locally.\n2. Encrypt it locally.\n3. Compute the SHA-256 hash locally.\n4. Send only ciphertext, IV, and hash material to `POST /api/v1/privacy/anchor` with `X-API-Key`.\n5. Return the transaction hash plus verifier artifacts for QR/PDF generation\n   and long-term archive in the client system.\n\n```bash\nnpm install @aerocert/sdk\n```\n\n```ts\nimport { AeroCert, buildPrivacyCertificatePayload } from '@aerocert/sdk';\n\nconst aerocert = new AeroCert({\n  apiKey: process.env.AEROCERT_API_KEY!,\n  apiBaseUrl: 'https://api.aerocert.co',\n  privacyKey: process.env.AEROCERT_PRIVACY_KEY!,\n});\n\nconst payload = await buildPrivacyCertificatePayload({\n  schema: 'training_certificate@1',\n  documentType: 'Training Certificate',\n  chainId: 43113,\n  chainName: 'Avalanche Fuji Testnet',\n  contractAddress: process.env.AEROCERT_CERTIFICATE_REGISTRY_ADDRESS!,\n  issuerOrganizationName: 'Aero Training Org',\n  issuerOrganizationId: 'org-1',\n  issuerWallet: '0x1234567890abcdef1234567890abcdef12345678',\n  recipientName: 'Alice Moreau',\n  courseName: 'Data Science',\n  issueDate: '2026-05-19',\n  certificateNumber: 'MBA-2026-0001',\n  metadata: {\n    holder_name: 'Alice Moreau',\n    training_type: 'Data Science',\n    training_date: '2026-05-19',\n    certificate_number: 'MBA-2026-0001',\n  },\n});\n\nconst result = await aerocert.issuePrivacyCertificate({\n  payload,\n  includeQrDataUrl: true,\n  includePdf: true,\n});\n\nconsole.log(result.transactionHash);\nconsole.log(result.publicQrUrl);\nconsole.log(result.verificationUrl);\nconsole.log(result.payloadEncoded);\nconsole.log(result.verificationArchive);\nconsole.log(result.qrCode?.dataUrl);\nconsole.log(result.pdfBase64);\n```\n\nCommonJS services can use the same package:\n\n```js\nconst { AeroCert, buildPrivacyCertificatePayload } = require('@aerocert/sdk');\n```\n\nExisting API services can also send ordinary certificate JSON through `certify(...)`.\nThe SDK loads non-secret issuer configuration from AeroCert using the API key,\nthen builds the verifier-ready payload locally:\n\n```ts\nconst result = await aerocert.certify({\n  schema: 'generic:training_certificate',\n  clientReference: 'request-123',\n  dataToAnchor: {\n    certificate_number: 'MBA-2026-0001',\n    holder_first_name: 'Alice',\n    holder_last_name: 'Moreau',\n    training_name: 'Aviation Safety',\n    issued_date: '2026-05-19',\n  },\n}, {\n  includePdf: true,\n  includeQrDataUrl: true,\n});\n```\n\n## Timeout, abort, and idempotent retry\n\nEvery SDK networked method accepts request controls:\n\n- `timeoutMs`: aborts one AeroCert HTTP request after the given number of\n  milliseconds and rejects with `AeroCertTimeoutError`.\n- `signal`: composes a caller-owned `AbortSignal` with the SDK timeout and\n  rejects aborted requests with `AbortError`.\n\nTimeouts do not prove whether the API completed the operation. For retryable\nissuance flows, replay the same logical request with the same `idempotencyKey`.\n\n```ts\nimport { AeroCert, AeroCertTimeoutError } from '@aerocert/sdk';\n\nconst idempotencyKey = `cert-${certificate.id}`;\n\ntry {\n  await aerocert.certify({\n    schema: 'generic:training_certificate',\n    clientReference: certificate.id,\n    dataToAnchor: certificate,\n  }, {\n    idempotencyKey,\n    timeoutMs: 5_000,\n  });\n} catch (error) {\n  if (error instanceof AeroCertTimeoutError) {\n    await aerocert.certify({\n      schema: 'generic:training_certificate',\n      clientReference: certificate.id,\n      dataToAnchor: certificate,\n    }, {\n      idempotencyKey,\n      timeoutMs: 15_000,\n    });\n  } else {\n    throw error;\n  }\n}\n```\n\n`apiKey` authenticates the organization. `privacyKey` encrypts the payload before it leaves the client system; do not treat the API key as the decryption secret or derive the privacy key from it. `buildPrivacyCertificatePayload(...)` produces the v=1 plaintext shape accepted by AeroCert `/verify`; arbitrary JSON can still be anchored with the lower-level `anchorPrivacyPayload(...)` method, but it will not produce a certificate verification URL accepted by `/verify`.\n\nSuccessful SDK issuance returns both the chain proof and client artifacts:\n\n- `transactionHash`, `dataHash`, `anchorRecordId`\n- `payloadEncoded`, `verificationUrl`, `publicQrUrl`, `qrPayload`\n- `verificationArchive`\n- `qrCode.dataUrl` when `includeQrDataUrl` is true\n- `pdfBase64` when `includePdf` is true\n\nArtifact meaning:\n\n- `publicQrUrl` and `qrPayload` are the privacy-preserving QR target. They use\n  `https://aerocert.co/q/<public-token>#k=<public-key>`, then resolve to the\n  public verifier without putting the clear verifier payload in the printed QR.\n- `verificationUrl` is the self-contained verifier URL\n  `https://aerocert.co/verify#p=<payloadEncoded>`. It contains the public\n  verifier payload in the URL fragment and can be archived by the client system\n  as a long-term recovery path.\n- `payloadEncoded` is the self-contained verifier payload. Store it with the\n  issued certificate record if your privacy policy allows public certificate\n  verification metadata to be archived outside AeroCert.\n- `verificationArchive` is the structured archive object to persist for\n  official certificates. It carries the chain id, transaction hash, data hash,\n  registry contract, organization registry, issuer wallet, organization profile\n  hash, QR URL, self-contained verifier URL, payload, SDK version, and, from\n  `0.7.10`, the registry version, block number, blockchain timestamp when the\n  AeroCert API response provides them, the organization profile hash algorithm,\n  plus the minimal registry interface signatures needed to decode the archived\n  transaction and reconstruct the on-chain verifier later.\n\nFor official mainnet certificates, archive `verificationArchive` plus the final\nissued PDF bytes or PDF hash. When a partner export includes artifact hashes,\nthe AeroCert archive verifier can also compare local PDFs with\n`--final-pdf <path>` and `--aerocert-proof-pdf <path>`.\n\n## Revocation & Replacement\n\nSDK `0.8.0` adds lifecycle helpers for corrected certificates. Existing issuance\ncalls are unchanged: `certify(...)`, `issuePrivacyCertificate(...)`, package\nexports, ESM imports, and CommonJS imports keep the same contract.\n\nReason codes are the on-chain `CertificateRegistryV4` values:\n\n| Code | Meaning |\n|---|---|\n| `1` | Error in document |\n| `2` | Document expired or replaced |\n| `3` | Fraud or falsification |\n| `4` | Other |\n\nUse `replace(...)` when a corrected certificate supersedes an old anchor. The\nSDK resolves the replaced anchor `dataHash`, injects it as\n`metadata.replaces`, injects `metadata.correction_reason` when `reasonText` is\nprovided, anchors the corrected payload, then asks AeroCert to revoke the old\nanchor.\n\n```ts\nimport { AeroCert, type ReplaceResponse } from '@aerocert/sdk';\n\nconst aerocert = new AeroCert({\n  apiKey: process.env.AEROCERT_API_KEY!,\n  apiBaseUrl: 'https://api.aerocert.co',\n  privacyKey: process.env.AEROCERT_PRIVACY_KEY!,\n});\n\nconst original = await aerocert.certify({\n  schema: 'generic:training_certificate',\n  dataToAnchor: {\n    certificate_number: 'MBA-2026-0001',\n    holder_name: 'Alice Moreau',\n    training_name: 'Aviation Safety',\n    issued_date: '2026-05-19',\n  },\n});\n\nconst replacement: ReplaceResponse = await aerocert.replace({\n  schema: 'generic:training_certificate',\n  dataToAnchor: {\n    certificate_number: 'MBA-2026-0001-CORRECTED',\n    holder_name: 'Alice Moreau',\n    training_name: 'Aviation Safety',\n    issued_date: '2026-05-20',\n  },\n  replacesAnchorId: original.anchorId,\n  reasonCode: 2,\n  reasonText: 'Corrected score after review',\n});\n\nif (replacement.status === 'partial') {\n  // The corrected certificate exists. Retry revocation of the old anchor only.\n  await aerocert.revoke({\n    anchorId: original.anchorId,\n    reasonCode: 2,\n    reasonText: 'Corrected score after review',\n  });\n} else {\n  console.log(replacement.anchorId);\n  console.log(replacement.lineage.replacesAnchorId);\n  console.log(replacement.revocation.txHash);\n}\n```\n\nIf your system already loaded the old anchor hash, pass `replacesDataHash` to\navoid the SDK read of `GET /api/v1/privacy/anchors/:id`:\n\n```ts\nconst correctedVerifierPayload = {\n  v: 1,\n  schema: 'generic:training_certificate',\n  hashAlgorithm: 'SHA-256',\n  chainId: 43113,\n  contractAddress: '0x1111111111111111111111111111111111111111',\n  issuerOrganizationName: 'Aero Training Org',\n  issuerWallet: '0x2222222222222222222222222222222222222222',\n  organizationProfile: { name: 'Aero Training Org' },\n  organizationProfileHash: '0x3333333333333333333333333333333333333333333333333333333333333333',\n  recipientName: 'Alice Moreau',\n  courseName: 'Aviation Safety',\n  issueDate: '2026-05-20',\n  certificateNumber: 'MBA-2026-0001-CORRECTED',\n  metadata: {},\n};\n\nawait aerocert.replace({\n  payload: correctedVerifierPayload,\n  replacesAnchorId: 2475,\n  replacesDataHash: '0x2424242424242424242424242424242424242424242424242424242424242424',\n  reasonCode: 2,\n  reasonText: 'Corrected score after review',\n});\n```\n\n## Webhook receiver signatures\n\nWebhook delivery bodies must be verified from the raw request body:\n\n```ts\nimport { verifyWebhookSignature } from '@aerocert/sdk';\n\nconst valid = verifyWebhookSignature({\n  payload: rawBody,\n  secret: process.env.AEROCERT_WEBHOOK_SECRET!,\n  headers: req.headers,\n});\n\nif (!valid) {\n  throw new Error('Invalid AeroCert webhook signature');\n}\n```\n\n`verifyWebhookSignature(...)` rejects deliveries whose\n`X-AeroCert-Webhook-Timestamp` is more than 5 minutes from the receiver clock by\ndefault. Keep that check enabled and store processed `X-AeroCert-Webhook-Id`\nvalues if your handler must be strictly once-only.\n\nThe partner contract, endpoint list, and webhook semantics are documented in\n`docs/api/PARTNER_INTEGRATION_CONTRACT.md`.\n","readmeFilename":"README.md"}