{"id":23633642,"url":"https://github.com/TBD54566975/ssi-service","last_synced_at":"2025-08-31T09:31:57.137Z","repository":{"id":37016939,"uuid":"468853653","full_name":"TBD54566975/ssi-service","owner":"TBD54566975","description":"The Self Sovereign Identity Service","archived":false,"fork":false,"pushed_at":"2024-05-06T00:08:36.000Z","size":4776,"stargazers_count":152,"open_issues_count":100,"forks_count":55,"subscribers_count":11,"default_branch":"main","last_synced_at":"2024-10-24T22:31:06.299Z","etag":null,"topics":["decentralized-identity","did","self-sovereign-identity","ssi","verifiable-credentials"],"latest_commit_sha":null,"homepage":"","language":"Go","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/TBD54566975.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-11T18:07:18.000Z","updated_at":"2024-10-15T20:07:46.000Z","dependencies_parsed_at":"2023-10-15T04:33:10.132Z","dependency_job_id":"7e5ee02c-f3e5-4042-8712-b00fcad5034c","html_url":"https://github.com/TBD54566975/ssi-service","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":"TBD54566975/tbd-project-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TBD54566975%2Fssi-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TBD54566975%2Fssi-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TBD54566975%2Fssi-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TBD54566975%2Fssi-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TBD54566975","download_url":"https://codeload.github.com/TBD54566975/ssi-service/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231586248,"owners_count":18396337,"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":["decentralized-identity","did","self-sovereign-identity","ssi","verifiable-credentials"],"created_at":"2024-12-28T04:52:57.003Z","updated_at":"2024-12-28T04:52:58.564Z","avatar_url":"https://github.com/TBD54566975.png","language":"Go","funding_links":[],"categories":["SDKs"],"sub_categories":["MCP Registries"],"readme":"⚠️ This repository is not actively being maintained. If you are interested in adopting it, please open an issue. ⚠️\n\n[![godoc ssi-service](https://img.shields.io/badge/godoc-ssi--service-blue)](https://github.com/TBD54566975/ssi-service)\n[![go version 1.21.5](https://img.shields.io/badge/go_version-1.21.5-brightgreen)](https://go.dev/)\n[![license Apache 2](https://img.shields.io/badge/license-Apache%202-black)](https://github.com/TBD54566975/ssi-service/blob/main/LICENSE)\n[![issues](https://img.shields.io/github/issues/TBD54566975/ssi-service)](https://github.com/TBD54566975/ssi-service/issues)\n![push](https://github.com/TBD54566975/ssi-service/workflows/ssi-service-ci/badge.svg?branch=main\u0026event=push)\n\n# ssi-service\n\nThe Self Sovereign Identity Service (SSIS) is a RESTful web service that facilitates all things relating\nto [DIDs](https://www.w3.org/TR/did-core/),\n[Verifiable Credentials](https://www.w3.org/TR/vc-data-model) and their related standards-based interactions. Most of\nthe functionality in this service\nrelies upon the SSI primitives exposed in the [SSI-SDK](https://github.com/TBD54566975/ssi-sdk) project.\n\n## Core Functionality\n\n- Lifecycle management for Decentralized Identifiers\n    - Multiple local, web, and blockchain methods supported\n- Create and manage Verifiable Credentials\n    - Multiple securing mechanisms\n    - Data schemas using JSON Schema\n    - Lifecycle management with credential status (revocation, suspension, etc.)\n- More robust DID and Verifiable Credential interactions such as...\n    - Enabling the application of credentials\n    - Verifying sets of credentials with custom logic\n    - Linking a DID to a web domain\n    - Integration into your existing systems with webhooks\n    - Trust management\n- And much more!\n\n## Documentation\n\n### Vision, Features, and Development\n\nThe vision for the project is laid out in [this document](doc/service/vision.md).\n\nThe project follows a proposal-based improvement format called [SIPs, outlined here](doc/sip/README.md).\n\nPlease [join Discord](https://discord.com/invite/tbd), or open an [issue](https://github.com/TBD54566975/ssi-service/issues) if you are interested in helping shape the future of the\nproject.\n\n### API Documentation\n\nAPI documentation is generated using [Swagger](https://swagger.io/). The most recent\ndocs [can be found here](doc/swagger.yaml).\n\nWhen running the service you can find API documentation at: `http://localhost:8080/swagger/index.html`\n\n**Note:** Your port may differ; swagger docs are hosted on the same endpoint as the ssi service itself.\n\n### How To's\n\nWe have a set of tutorials and how-to documents, instructing you on how to create a DID, issue your first credential,\nand more! The docs can be found [in our docs here](doc/README.md).\n\n## Build \u0026 Test\n\n### Local Development\nThis project uses [mage](https://magefile.org/), please\nview [CONTRIBUTING](https://github.com/TBD54566975/ssi-service/blob/main/CONTRIBUTING.md) for more information.\n\nAfter installing mage, you can build and test the SDK with the following commands:\n\n```\nmage build\nmage test\n```\n\nA utility is provided to run _clean, build, lint, and test_ in sequence with:\n\n```\nmage cblt\n```\n\n### Continuous Integration\n\nCI is managed via [GitHub Actions](https://github.com/TBD54566975/ssi-service/actions). Actions are triggered to run for\neach Pull Request, and on merge to `main`.\nYou can run CI locally using a tool like [act](https://github.com/nektos/act).\n\n## Deployment\n\nThe service is packaged as a [Docker container](https://www.docker.com/), runnable in a wide variety of\nenvironments.\n\nThere are pre-build images built by GitHub Actions on each merge to the `main` branch,\nwhich [you can access here](https://github.com/orgs/TBD54566975/packages?repo_name=ssi-service).\n\n[Docker Compose](https://docs.docker.com/compose/) is used for simplification and orchestration. To run\nthe service, you can use the following command, which will start the service on port `8080`:\n\n```shell\nmage run\n```\n\nOr, you can run docker-compose yourself, building from source:\n\n```shell\ncd build \u0026\u0026 docker-compose up --build\n```\n\nTo use the pre-published images:\n\n```shell\ncd build \u0026\u0026 docker-compose up -d\n```\n\n## Using the Service\n\n### Configuration\n\nManaged via:\n[TOML](https://toml.io/en/) [file](config/dev.toml). Configuration documentation and sample config\nfiles [can be found here](doc/README.md#configuration).\n\nThere are sets of configuration values for the server (e.g. which port to listen on), the services (e.g. which database\nto use),\nand each service. Each service may define specific configuration, such as which DID methods are enabled for the DID\nservice.\n\nMore information on configuration can be found in the [configuration section of our docs](doc/README.md).\n\n### Authentication and Authorization\n\nThe SSI server uses the [Gin framework](https://github.com/gin-gonic/gin), which allows various kinds of middleware.\nLook in `pkg/middleware/Authentication.go` and `pkg/middleware/Authorization.go` for details on how you can wire up\nauthentication and authorization for your use case.\n\n### Health and Readiness Checks\n\nNote: port 3000 is used by default, specified in `config` folder. An example would be [`dev.toml`](config/dev.toml), for the SSI Service process. If you're running\nvia `mage run` or docker compose, the port to access will be `8080`.\n\nRun for health check (status: OK, then you are up):\n\n```shell\n ~ curl localhost:3000/health | jq\n```\n```json\n{\n    \"status\": \"OK\"\n}\n```\n\nRun to check if all services are up and ready (credential, did, and schema):\n\n```bash\n~ curl localhost:8080/readiness | jq\n```\n```json\n{\n  \"status\": {\n    \"status\": \"ready\",\n    \"message\": \"all services ready\"\n  },\n  \"serviceStatuses\": {\n    \"credential\": {\n      \"status\": \"ready\"\n    },\n    \"did\": {\n      \"status\": \"ready\"\n    },\n    \"issuance\": {\n      \"status\": \"ready\"\n    },\n    \"keystore\": {\n      \"status\": \"ready\"\n    },\n    \"manifest\": {\n      \"status\": \"ready\"\n    },\n    \"operation\": {\n      \"status\": \"ready\"\n    },\n    \"presentation\": {\n      \"status\": \"ready\"\n    },\n    \"schema\": {\n      \"status\": \"ready\"\n    },\n    \"webhook\": {\n      \"status\": \"ready\"\n    }\n  }\n}\n```\n\n## Project Resources\n\n| Resource                                                                                   | Description                                                                   |\n|--------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|\n| [Components Readme](https://github.com/TBD54566975/ssi-service/blob/main/doc/README.md)    | Documentation for various components of the SSI Service                       |\n| [VISION](https://github.com/TBD54566975/ssi-service/blob/main/doc/VISION.md)               | Outlines the project vision                                                   |\n| [SIPs](doc/sip/README.md)                                                                      | Proposals for improving the SSI Service                                       |\n| [VERSIONING](https://github.com/TBD54566975/ssi-service/blob/main/doc/VERSIONING.md)       | Project versioning strategy                                                   |\n| [CODEOWNERS](https://github.com/TBD54566975/ssi-service/blob/main/CODEOWNERS)              | Outlines the project lead(s)                                                  |\n| [CODE_OF_CONDUCT](https://github.com/TBD54566975/ssi-service/blob/main/CODE_OF_CONDUCT.md) | Expected behavior for project contributors, promoting a welcoming environment |\n| [CONTRIBUTING](https://github.com/TBD54566975/ssi-service/blob/main/CONTRIBUTING.md)       | Developer guide to build, test, run, access CI, chat, discuss, file issues    |\n| [GOVERNANCE](https://github.com/TBD54566975/ssi-service/blob/main/GOVERNANCE.md)           | Project governance                                                            |\n| [SECURITY](https://github.com/TBD54566975/ssi-service/blob/main/SECURITY.md)               | Vulnerability and bug reporting                                               |\n| [LICENSE](https://github.com/TBD54566975/ssi-service/blob/main/LICENSE)                    | Apache License, Version 2.0                                                   |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTBD54566975%2Fssi-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTBD54566975%2Fssi-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTBD54566975%2Fssi-service/lists"}