{"id":29182845,"url":"https://github.com/magiclabs/dkms-customer-api","last_synced_at":"2025-07-01T20:33:13.407Z","repository":{"id":221248747,"uuid":"725758274","full_name":"magiclabs/dkms-customer-api","owner":"magiclabs","description":"Magic Labs DKMS customer encryption endpoint","archived":false,"fork":false,"pushed_at":"2024-02-06T22:18:28.000Z","size":1900,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-02-06T23:42:07.063Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/magiclabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-11-30T20:14:55.000Z","updated_at":"2024-02-06T23:42:08.652Z","dependencies_parsed_at":"2024-02-06T23:52:09.386Z","dependency_job_id":null,"html_url":"https://github.com/magiclabs/dkms-customer-api","commit_stats":null,"previous_names":["magiclabs/dkms-customer-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/magiclabs/dkms-customer-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magiclabs%2Fdkms-customer-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magiclabs%2Fdkms-customer-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magiclabs%2Fdkms-customer-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magiclabs%2Fdkms-customer-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/magiclabs","download_url":"https://codeload.github.com/magiclabs/dkms-customer-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magiclabs%2Fdkms-customer-api/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263033228,"owners_count":23403118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2025-07-01T20:32:59.894Z","updated_at":"2025-07-01T20:33:13.376Z","avatar_url":"https://github.com/magiclabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Split KMS Customer Encryption API\n\nMagic offers non-custodial Wallet-as-a-Service, allowing web or mobile\napplication developers to seamlessly integrate web3 wallets into their apps with\na familiar web2 user experience. The cornerstone of Magic’s offering is its\npatented [Delegated Key Management System\n(DKMS)](https://magic.link/docs/home/security/product-security#hardware-security-modules-hs-ms).\n\nThis repository introduces a novel shared security model where Magic’s\ndevelopers can deploy a cloud-native, elastic infrastructure to encrypt segments\nof the private key, divided into multiple shares using the tested and proven\n[Shamir's Secret Sharing\nalgorithm](https://web.mit.edu/6.857/OldStuff/Fall03/ref/Shamir-HowToShareASecret.pdf).\nYou can learn more about this wallet key management model in Magic’s [developer\ndocumentation](https://magic.link/docs/split-kms).\n\n![Split KMS Customer Encryption API Architecture](images/split-kms-customer-encryption-api.png)\n\n## Getting started\n\nBelow outlines the expected workflow for developers participating in the Modular KMS offering:\n\n1. Opt-in for Modular KMS when opening your developer account with Magic. Note\nthat this feature is currently in invite-only mode; therefore, please [contact\nsales](https://magic.link/contact) to enable this functionality.\n2. Customers using Magic’s Modular KMS need to encrypt device hydration private\nkey shares. To do so, fork this repository, make any modifications (if\nnecessary), and deploy it to your AWS account. The encryption API tech stack is\noptimized for AWS Serverless Architecture, ensuring easy scalability.\n3. Register the API endpoints with Magic to receive callbacks for encryption and\ndecryption at runtime when users create a wallet and perform signing\ntransactions.\n\n## Requirements\n\nSign up for a cloud vendor; currently, we support Amazon Web Services (AWS).\n\n## License\n\nWe have open-sourced this repository under the Apache 2.0 license, making it\nsuitable for modification to fit the unique requirements of your production\nenvironment. [View the license](./LICENSE).\n\n## Maintenance and Support for Versions\n\nCurrently we support AWS as the default cloud providers, we are looking to\nintegrate this offering with other cloud providers such as Google Cloud and\nMicrosoft Azure\n\n## Installation\n\nWe use AWS CDK for this repository. The following commands will help you deploy\nthe CDK to your AWS account.\n\n```bash\nmake install\nmake synth\nmake diff\nmake deploy\n```\n\n## Configuration\n\nThe reference implementation of the CDK comes with a bring-your-own KMS model\nfor encrypting and decrypting your share of the key. You are welcome to\ncustomize the configuration further to suit your needs, such as using an\nexternal HSM in place of AWS KMS.\n\n## Getting Help\n\nReach out to Magic customer support for assistance.\n\n\n## Documentation\n\n- [AWS CDK API v2 Documentation](https://docs.aws.amazon.com/cdk/api/v2/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagiclabs%2Fdkms-customer-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmagiclabs%2Fdkms-customer-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagiclabs%2Fdkms-customer-api/lists"}