{"id":21531954,"url":"https://github.com/matrixai/polykey","last_synced_at":"2025-04-09T07:08:28.229Z","repository":{"id":37319309,"uuid":"136162118","full_name":"MatrixAI/Polykey","owner":"MatrixAI","description":"Polykey Core Library","archived":false,"fork":false,"pushed_at":"2024-10-15T02:11:39.000Z","size":20152,"stargazers_count":30,"open_issues_count":85,"forks_count":4,"subscribers_count":8,"default_branch":"staging","last_synced_at":"2024-10-15T05:03:42.410Z","etag":null,"topics":["authentication","authorization","decentralized","end-to-end-encryption","keymanager","local-first","p2p","pgp","secrets","share-secrets","tls","vaults","zero-trust"],"latest_commit_sha":null,"homepage":"https://polykey.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MatrixAI.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,"publiccode":null,"codemeta":null}},"created_at":"2018-06-05T10:40:30.000Z","updated_at":"2024-10-15T02:06:26.000Z","dependencies_parsed_at":"2023-11-08T06:03:18.079Z","dependency_job_id":"9272a69f-1dc1-49db-81cb-e7348acee2dd","html_url":"https://github.com/MatrixAI/Polykey","commit_stats":{"total_commits":1749,"total_committers":23,"mean_commits":76.04347826086956,"dds":0.5002858776443682,"last_synced_commit":"ab666368d9f1a46b226813c1c662a601840c2cdb"},"previous_names":["matrixai/js-polykey"],"tags_count":146,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatrixAI%2FPolykey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatrixAI%2FPolykey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatrixAI%2FPolykey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatrixAI%2FPolykey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MatrixAI","download_url":"https://codeload.github.com/MatrixAI/Polykey/tar.gz/refs/heads/staging","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247994121,"owners_count":21030050,"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":["authentication","authorization","decentralized","end-to-end-encryption","keymanager","local-first","p2p","pgp","secrets","share-secrets","tls","vaults","zero-trust"],"created_at":"2024-11-24T02:18:21.824Z","updated_at":"2025-04-09T07:08:28.223Z","avatar_url":"https://github.com/MatrixAI.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://polykey.com/images/polykey-logotype-light-light.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://polykey.com/images/polykey-logotype-dark-dark.svg\"\u003e\n    \u003cimg width=\"512\" alt=\"Polykey Logo\" src=\"https://polykey.com/images/polykey-logotype-light-light.svg\"\u003e\n  \u003c/picture\u003e\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n  \u003cimg src=\"https://img.shields.io/github/v/tag/MatrixAI/Polykey?style=for-the-badge\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/MatrixAI/Polykey/release.yml?style=for-the-badge\"\u003e\n  \u003cimg src=\"https://img.shields.io/npm/d18m/polykey?style=for-the-badge\u0026label=npm%20downloads\u0026color=d02b1d\"\u003e\n  \u003cbr /\u003e\n  \u003cimg src=\"https://img.shields.io/github/downloads/MatrixAI/Polykey/total?style=for-the-badge\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/MatrixAI/Polykey?style=for-the-badge\"\u003e\n\u003c/div\u003e\n\n## What is Polykey?\n\n**Polykey is an open-source, peer-to-peer system** that addresses the critical challenge in cybersecurity: **the secure sharing and delegation of authority**, in the form of secrets like keys, tokens, certificates, and passwords.\n\nIt allows users including developers, organizations, and machines—to **store these secrets in encrypted vaults on their own devices, and share them directly with trusted parties.**\n\n* **All data is end-to-end encrypted**, both in transit and at rest, eliminating the risk associated with third-party storage.\n* **Polykey provides a command line interface**, desktop and mobile GUI, and a web-based control plane for organizational management.\n* By treating secrets as tokenized authority, it offers a fresh approach to **managing and delegating authority in zero-trust architectures** without adding burdensome policy complexity - a pervasive issue in existing zero-trust systems.\n* Unlike complex self-hosted secrets management systems that require specialized skills and infrastructure, Polykey is **installed and running directly from the end-user device**.\n* It is built to **automatically navigate network complexities** like NAT traversal, connecting securely to other nodes without manual configuration.\n\n**Key features:**\n\n* **Decentralized Encrypted Storage** - No storage of secrets on third parties, secrets are stored on your device and synchronised point-to-point between Polykey nodes.\n* **Secure Peer-to-Peer Communication** - Polykey bootstraps TLS keys by federating trusted social identities (e.g. GitHub).\n* **Secure Computational Workflows** - Share static secrets (passwords, keys, tokens and certificates) with people, between teams, and across machine infrastructure. Create dynamic (short-lived) smart-tokens with embedded policy for more sophisticated zero-trust authority verification.\n* With Polykey Enterprise, you can create private networks of Polykey nodes and apply mandatory policy governing node behaviour.\n\n## Table of Contents\n* [Installation](#installation)\n* [Development](#development)\n  * [Docs Generation](#docs-generation)\n  * [Publishing](#publishing)\n* [License](#license)\n\n## Installation\n\n### NPM\n\n```sh\nnpm install --save polykey\n```\n\n## Development\n\nRun `nix develop`, and once you're inside, you can use:\n\n```sh\n# install (or reinstall packages from package.json)\nnpm install\n# build the dist\nnpm run build\n# run the repl (this allows you to import from ./src)\nnpm run tsx\n# run the tests\nnpm run test\n# lint the source code\nnpm run lint\n# automatically fix the source\nnpm run lintfix\n```\n\n### Docs Generation\n\n```sh\nnpm run docs\n```\n\nSee the docs at: https://matrixai.github.io/Polykey/\n\n### Publishing\n\n```sh\n# npm login\nnpm version patch # major/minor/patch\nnpm run build\nnpm publish --access public\ngit push\ngit push --tags\n```\n\n## License\n\nPolykey is licensed under the GPLv3, you may read the terms of the license [here](LICENSE).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatrixai%2Fpolykey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatrixai%2Fpolykey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatrixai%2Fpolykey/lists"}