{"id":19920601,"url":"https://github.com/cryptkeeperzk/crypt-keeper-extension","last_synced_at":"2025-05-03T06:31:09.424Z","repository":{"id":64450156,"uuid":"531584922","full_name":"CryptKeeperZK/crypt-keeper-extension","owner":"CryptKeeperZK","description":"🌐 🔌 💀 CryptKeeper browser extension is a zero knowledge identity management and proof generation tool. ","archived":false,"fork":false,"pushed_at":"2024-02-26T15:09:45.000Z","size":55740,"stargazers_count":34,"open_issues_count":60,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-22T07:54:02.844Z","etag":null,"topics":["browser-extension","chrome-extension","firefox-extension","identity-management","react","typescript","wallet","zero-knowledge","zkp"],"latest_commit_sha":null,"homepage":"https://ckdemo.appliedzkp.org","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CryptKeeperZK.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":".github/CODEOWNERS","security":null,"support":null,"governance":null}},"created_at":"2022-09-01T15:46:21.000Z","updated_at":"2024-05-03T14:36:09.000Z","dependencies_parsed_at":"2023-09-23T03:40:15.821Z","dependency_job_id":"70f07666-e9ce-4b6f-8727-b9f12924c8ed","html_url":"https://github.com/CryptKeeperZK/crypt-keeper-extension","commit_stats":null,"previous_names":[],"tags_count":102,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptKeeperZK%2Fcrypt-keeper-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptKeeperZK%2Fcrypt-keeper-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptKeeperZK%2Fcrypt-keeper-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptKeeperZK%2Fcrypt-keeper-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CryptKeeperZK","download_url":"https://codeload.github.com/CryptKeeperZK/crypt-keeper-extension/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252154737,"owners_count":21702983,"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":["browser-extension","chrome-extension","firefox-extension","identity-management","react","typescript","wallet","zero-knowledge","zkp"],"created_at":"2024-11-12T22:05:08.428Z","updated_at":"2025-05-03T06:31:04.417Z","avatar_url":"https://github.com/CryptKeeperZK.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg width=\"128\" alt=\"CryptKeeper logo\" src=\"./packages/app/src/static/icons/icon-128.png\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003ca rel=\"noreferrer noopener\" target=\"blank\" href=\"https://addons.mozilla.org/firefox/addon/cryptkeeper/\"\u003e\u003cimg alt=\"Firefox Add-ons\" src=\"https://img.shields.io/badge/Firefox-141e24.svg?\u0026style=for-the-badge\u0026logo=firefox-browser\"\u003e\u003c/a\u003e\n\u003ca rel=\"noreferrer noopener\" target=\"blank\" href=\"https://chrome.google.com/webstore/detail/cryptkeeper/nligojmlalemmhlmkghnflkgicnmodcl\"\u003e\u003cimg alt=\"Chrome Web Store\" src=\"https://img.shields.io/badge/Chrome-141e24.svg?\u0026style=for-the-badge\u0026logo=googlechrome\"\u003e\u003c/a\u003e\n\u003ca rel=\"noreferrer noopener\" target=\"blank\" href=\"https://www.npmjs.com/package/@cryptkeeperzk/providers\"\u003e\u003cimg alt=\"npm\" src=\"https://img.shields.io/badge/NPM-141e24.svg?\u0026style=for-the-badge\u0026logo=npm\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eCrypt-Keeper (Beta Version)\u003c/h1\u003e\n\n\u003cbr/\u003e\n\u003cp align=\"center\"\u003eCryptKeeper is an \u003cstrong\u003eopen-source\u003c/strong\u003e MIT-licensed \u003cstrong\u003ebrowser extension\u003c/strong\u003e which enables \u003cstrong\u003eZero-Knowledge\u003c/strong\u003e identity management and proof generation.\nCurrently it supports operations for \u003cstrong\u003e\u003ca href=\"https://semaphore.appliedzkp.org/\"\u003eSemaphore\u003c/a\u003e\u003c/strong\u003e gadgets.\u003c/p\u003e\n\u003cbr/\u003e\n\n\u003e Please note that this extension is currently in **beta** testing. It may not have full functionality or stability. Your participation and feedback will greatly assist us in refining and enhancing the extension.\n\n\u003cbr/\u003e\n\n\u003e [![Video](https://img.youtube.com/vi/8nrggpxbJu8/maxresdefault.jpg)](https://youtu.be/8nrggpxbJu8)\n\u003e YouTube: CryptKeeper Demo\n\n## Table of Contents\n\n- [Description](#description)\n- [Features](#features)\n- [Development](#development)\n\n## Description\n\n**CryptKeeper** is a browser extension that offers secure and private identity management and authentication solutions based on zero-knowledge proofs. The `@cryptkeeperzk/providers` package simplifies the integration of CryptKeeper functionality into applications by providing injected providers.\n\nThese injected providers allow applications to establish a connection with the CryptKeeper extension, enabling them to leverage its features and services. The package includes functions for initializing the CryptKeeper provider within the browser extension's InjectedScript and for connecting to **CryptKeeper** from an application.\n\n## Features\n\n1. **Identity Secret and Identity Commitment Generation:** Generate Semaphore identity secrets and commitments securely.\n2. **Seamless Connection with Semaphore Identity:** Connect seamlessly with your Semaphore identity when interacting with websites and online services.\n3. **Semaphore Zero-Knowledge Proof (ZK-Proof) Generation:** Generate Zero-Knowledge Proofs using the Semaphore library. ZK-Proofs enable you to validate the authenticity of data and assertions without revealing any sensitive information. This feature enhances privacy and security in various cryptographic applications.\n4. **Rate-Limiting Nullifier (RLN) Zero-Knowledge Proof (ZK-Proof) Generation:** Generate Zero-Knowledge Proofs using the RLN JS library. RLN is a zk-gadget/protocol that enables spam prevention in anonymous environments.\n\n### Enabling Proof Generation:\n\nProof generation in the Semaphore library can be enabled in two ways:\n\n1. **Providing Merkle Witness Directly:** You can generate a proof by directly providing the necessary Merkle witness. This allows you to use pre-computed witness data.\n2. **Using a Secure Service Address:** by providing a secure service address from which the Merkle witness should be obtained\n\n# Development\n\nTo set up the development environment, follow these steps:\n\n1. `pnpm install`\n2. `pnpm run dev`\n3. Load the `dist` directory as an unpacked extension in your browser.\n\n### Demo\n\nTo run the demo, follow these steps:\n\n1. `pnpm run dev` or `pnpm run build`\n2. `pnpm run merkle:start`\n3. `pnpm run demo:start`\n\n### End-to-End Testing\n\nTo run end-to-end tests, follow these steps:\n\n1. Run `pnpx playwright install --with-deps chromium` to install playwright dependencies\n2. Run `pnpm install` for extension and for demo\n3. Make sure you have `.env.test` file with `METAMASK_EXTENSION_ID`.\n4. `METAMASK_EXTENSION_ID` can be found in log output for `pnpm run e2e`. For different environments `METAMASK_EXTENSION_ID` is also different so we need to specify it explicitly.\n5. Run `pnpm run build:e2e` to build the extension\n6. Run `pnpm run e2e` to run playwright e2e tests\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptkeeperzk%2Fcrypt-keeper-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcryptkeeperzk%2Fcrypt-keeper-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptkeeperzk%2Fcrypt-keeper-extension/lists"}