Skip to content

MatrixAI/Polykey

This branch is up to date with staging.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Feb 20, 2025
8e14922 · Feb 20, 2025
Aug 18, 2024
Oct 4, 2023
Feb 11, 2025
Jun 14, 2024
Feb 18, 2025
Feb 18, 2025
Jan 24, 2021
Oct 4, 2023
Mar 14, 2021
Oct 4, 2023
Jun 14, 2022
Oct 4, 2022
Jan 24, 2021
May 5, 2023
Dec 13, 2021
Aug 27, 2024
Sep 18, 2024
Nov 28, 2024
Dec 4, 2023
Feb 20, 2025
Feb 20, 2025
Jul 28, 2022
Oct 4, 2023

Repository files navigation

Polykey Logo


What is Polykey?

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.

It 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.

  • All data is end-to-end encrypted, both in transit and at rest, eliminating the risk associated with third-party storage.
  • Polykey provides a command line interface, desktop and mobile GUI, and a web-based control plane for organizational management.
  • 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.
  • Unlike complex self-hosted secrets management systems that require specialized skills and infrastructure, Polykey is installed and running directly from the end-user device.
  • It is built to automatically navigate network complexities like NAT traversal, connecting securely to other nodes without manual configuration.

Key features:

  • Decentralized Encrypted Storage - No storage of secrets on third parties, secrets are stored on your device and synchronised point-to-point between Polykey nodes.
  • Secure Peer-to-Peer Communication - Polykey bootstraps TLS keys by federating trusted social identities (e.g. GitHub).
  • 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.
  • With Polykey Enterprise, you can create private networks of Polykey nodes and apply mandatory policy governing node behaviour.

Table of Contents

Installation

NPM

npm install --save polykey

Development

Run nix develop, and once you're inside, you can use:

# install (or reinstall packages from package.json)
npm install
# build the dist
npm run build
# run the repl (this allows you to import from ./src)
npm run ts-node
# run the tests
npm run test
# lint the source code
npm run lint
# automatically fix the source
npm run lintfix

Docs Generation

npm run docs

See the docs at: https://matrixai.github.io/Polykey/

Publishing

# npm login
npm version patch # major/minor/patch
npm run build
npm publish --access public
git push
git push --tags

License

Polykey is licensed under the GPLv3, you may read the terms of the license here.