{"id":34525156,"url":"https://github.com/kiva/protocol-sdk-issuer","last_synced_at":"2026-06-05T09:31:32.664Z","repository":{"id":49235645,"uuid":"302920111","full_name":"kiva/protocol-sdk-issuer","owner":"kiva","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-11T04:36:47.000Z","size":2084,"stargazers_count":0,"open_issues_count":3,"forks_count":3,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-04-13T09:17:38.242Z","etag":null,"topics":["credential","kiva-protocol","protocol","sdk","ssi","web-sdk"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/kiva.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}},"created_at":"2020-10-10T14:29:40.000Z","updated_at":"2021-06-22T14:05:43.000Z","dependencies_parsed_at":"2023-02-09T01:45:30.989Z","dependency_job_id":null,"html_url":"https://github.com/kiva/protocol-sdk-issuer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kiva/protocol-sdk-issuer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiva%2Fprotocol-sdk-issuer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiva%2Fprotocol-sdk-issuer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiva%2Fprotocol-sdk-issuer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiva%2Fprotocol-sdk-issuer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kiva","download_url":"https://codeload.github.com/kiva/protocol-sdk-issuer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiva%2Fprotocol-sdk-issuer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27995843,"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","status":"online","status_checked_at":"2025-12-24T02:00:07.193Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["credential","kiva-protocol","protocol","sdk","ssi","web-sdk"],"created_at":"2025-12-24T05:07:39.121Z","updated_at":"2025-12-24T05:07:39.726Z","avatar_url":"https://github.com/kiva.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Protocol Issuer\nWeb SDK to embed SSI credential issuance capabilities in existing applications.\n\n![Build Status](https://github.com/kiva/protocol-sdk-issuer/workflows/build-main/badge.svg)\n\n# Microfrontend application\nThis module can be embedded as an iframe into your existing application to issue credentials out of the box or used as a standalone credential issuance tool.\n\n## Before You Start\n​\nThis SDK is designed to be flexible enough to accommodate either an Aries agent running locally on your machine, or a cloud agent. If you already have one of these set up, you can skip this section, but if you don't and would still like to try out the platform, keep reading.\n​\nAn easy option for making the SDK work out of the box is to set up the Kiva Aries backend locally. You'll need to [install Docker](https://docs.docker.com/get-docker/), but otherwise you should [be able to follow the steps in our `protocol-demo` repo to get an agent running quickly](https://github.com/kiva/protocol-demo#working-with-protocol-using-aries).\n​\n## Setting up your config file\n​\nThis SDK relies on a configuration file (you can read more about why that's the case, and how the file is used, [here](https://github.com/kiva/protocol-sdk-issuer/tree/master/config)), and for convenience's sake we've created a [sample config that you can use to get started right away](https://github.com/kiva/protocol-sdk-issuer/tree/master/config/get_started.json).\n​\nThere's plenty of stuff you can do to customize your UI using the config, which you can read about [here](https://github.com/kiva/protocol-sdk-issuer/tree/master/config), but here are the important points for getting started.\n​\n1. Modify `controllerUrlBase` to use the base URL for whatever endpoint you're using for a Cloud agent. By default, we are using `http://localhost:3014`, because that's the default port that the Kiva cloud agent uses when you're using the backend locally.\n2. If you are running a local agent on your machine, you can instead modify the `agent_port` config to point to the localhost port where your agent is running.\n​\n## Getting Started\n​\nOk, at last: How do you actually run this?\n​\nFirst step is to install the NPM dependencies, which you can do from the root directory of this repo by running:\n​\n```\nnpm install\n```\n\nIf you plan on contributing to this repo, we ask that you set up the Git hook scripts included in the `./hooks` directory in your local environment. This can be done by running:\n\n```\nnpm run initHooks\n```\n​\nOnce that's done, you can build and serve a development version of the application using the `get_started` config file by running:\n​\n```\nnpm run start\n```\n​\nPlease note that, while the `run start` command uses `get_started.json` by default, you can easily change the configuration file you're using by running the following.\n​\n```\nexport CONF_FILE=path/to/your/config.json\n```\n​\nTo create an optimized build package, we recommend you run the following command.\n​\n```\nnpm run build\n```\n​\nTo serve the package locally, you can run\n​\n```\nserve -s build\n```\n\n## Creating a Production Bundle for Deployment\n\nThis SDK is designed to support multiple deployments using just one codebase, with environment-specific variables [provided by a configuration file](https://github.com/kiva/protocol-sdk-issuer/tree/master/config).\n\nTo run a deployment for a specific configuration file, you can run this command from the root directory of this repo.\n\n```\nsh ./tools/bundle/create_bundle.sh \u003cYOUR CONFIG\u003e\n```\n\nThis will create a production bundle using `react-scripts` and will populate variables using the file specified by `\u003cYOUR CONFIG\u003e`.\n\nConfiguration files also support custom environments, though at the moment we only support environments with the following names: `dev`, `qa`, `sandbox` and `prod`. (We are currently working on making this support less restrictive.)\n\nIn order to build a bundle for a specific environment, you can run this command.\n\n```\nsh ./tools/bundle/create_bundle.sh \u003cYOUR CONFIG\u003e --\u003cdev/sandbox/prod\u003e\n```\n\nIf no environment is specified, the default is `qa`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiva%2Fprotocol-sdk-issuer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkiva%2Fprotocol-sdk-issuer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiva%2Fprotocol-sdk-issuer/lists"}