{"id":48510450,"url":"https://github.com/multifactor/trust-center","last_synced_at":"2026-04-07T17:32:39.259Z","repository":{"id":57380318,"uuid":"453588405","full_name":"multifactor/trust-center","owner":"multifactor","description":"Multifactor Trust Center (trust.multifactor.com): Verify Enclave Attestations \u0026 Generate Enclave Secrets","archived":false,"fork":false,"pushed_at":"2022-02-03T08:37:42.000Z","size":18190,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-24T22:12:45.470Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/multifactor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2022-01-30T04:38:56.000Z","updated_at":"2025-10-05T09:17:35.000Z","dependencies_parsed_at":"2022-08-28T21:22:20.682Z","dependency_job_id":null,"html_url":"https://github.com/multifactor/trust-center","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/multifactor/trust-center","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multifactor%2Ftrust-center","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multifactor%2Ftrust-center/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multifactor%2Ftrust-center/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multifactor%2Ftrust-center/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/multifactor","download_url":"https://codeload.github.com/multifactor/trust-center/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multifactor%2Ftrust-center/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31522337,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-07T17:32:39.114Z","updated_at":"2026-04-07T17:32:39.217Z","avatar_url":"https://github.com/multifactor.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![trust-center](https://raw.githubusercontent.com/multifactor/trust-center/master/site/logo.png \"trust-center\")](https://trust.multifactor.com \"trust-center\")\n\nMultifactor Trust Center\n\n[![GitHub issues](https://img.shields.io/github/issues/multifactor/trust-center)](https://github.com/multifactor/trust-center/issues)\n[![GitHub tag](https://img.shields.io/github/tag/multifactor/trust-center.svg)](https://github.com/multifactor/trust-center/tags)\n[![GitHub release](https://img.shields.io/github/release/multifactor/trust-center.svg)](https://github.com/multifactor/trust-center/releases)\n[![NPM release](https://img.shields.io/npm/v/trust-center.svg)](https://www.npmjs.com/package/trust-center)\n\n[Site](https://trust.multifactor.com) |\n[Docs](https://trust.multifactor.com/docs) |\n[Contributing](https://github.com/multifactor/trust-center/blob/master/CONTRIBUTING.md) |\n[Security](https://github.com/multifactor/trust-center/blob/master/SECURITY.md) |\n[Multifactor](https://github.com/multifactor) |\n[Author](https://github.com/VCNinc)\n\nThe Multifactor Trust Center provides tools for interacting with trusted computing devices such as Intel SGX and AWS Nitro enclaves. Validate attestation documents, verify cryptographic proofs, and encrypt secrets for use in enclaves using PGP, either manually via the online portal (trust.multifactor.com) or programmatically via the trust-center SDK. The trust center is entirely open source, requires no network connectivity, and is hosted on GitHub pages to ensure public auditability.\n\n## Demo\nTry using the link below to validate this [AWS Nitro attestation document](https://github.com/multifactor/trust-center/tree/main/test/examples) using the online portal, which will check that its signatures are valid and that the PCR0 value matches the value passed in the URL:\n\n[https://trust.multifactor.com/?pcr0=1595770e76cea659a5650a88b965b053eb66a0ce5a60a460223d50ff1d16b394d2651b130a38af4ccd818ad8cf42c963#/nitro](https://trust.multifactor.com/?pcr0=1595770e76cea659a5650a88b965b053eb66a0ce5a60a460223d50ff1d16b394d2651b130a38af4ccd818ad8cf42c963#/nitro)\n\n## Download\n### GitHub\n[Download Latest Release](https://github.com/multifactor/trust-center/releases)\n\n## Installation\n### In a browser:\nGet the latest tag with SRI from [jsDelivr](https://www.jsdelivr.com/package/npm/trust-center) (recommended), or include the latest version automatically like so:\n\n\t\u003cscript src=\"https://cdn.jsdelivr.net/gh/multifactor/trust-center/index.min.js\"\u003e\u003c/script\u003e\n\n### Using npm:\n\tnpm install trust-center\n\n### In Node.js:\n\tconst trust-center = require('trust-center');\n\nNote: The SDK uses crypto.X509Certificate for certificate validation and thus requires Node.js v15.6.0 or later.\n\n## Usage\nThe following code snippet uses the trust-center SDK to verify an AWS Nitro attestation document and then encrypt a secret for use within the enclave.\n\n```\n// add required dependencies\nconst trust = require('trust-center')\nconst fs = require('fs')\nconst path = require('path')\n\n// load attestation document in CBOR format\nconst attestationDocument = fs.readFileSync(path.join(__dirname, 'attestation.cbor'))\n// parse and validate attestation document\nconst attestationResult = await trust.enclaves.nitro.verifyAttestation(attestationDocument)\n\n// verify attestation document validity\nif (!attestationResult.valid) throw new Error('Failed to validate enclave attestation: ' + attestationResult.reason)\n// check that pcr0 matches desired enclave image file hash\nif (attestationResult.attr.pcr0 !== '1595770e76cea659a5650a88b965b053eb66a0ce5a60a460223d50ff1d16b394d2651b130a38af4ccd818ad8cf42c963') throw new Error('Failed to validate enclave attestation')\n\n// encrypt secret for enclave using PGP\nconst encrypted = await trust.secrets.encryptForEnclave(attestationResult, 'my secret')\nconsole.log(encrypted) // -\u003e '-----BEGIN PGP MESSAGE ... END PGP MESSAGE-----'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultifactor%2Ftrust-center","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmultifactor%2Ftrust-center","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultifactor%2Ftrust-center/lists"}