{"id":22261375,"url":"https://github.com/adaptant-labs/consent-receipt-go","last_synced_at":"2025-03-25T13:41:09.238Z","repository":{"id":66208339,"uuid":"220273144","full_name":"adaptant-labs/consent-receipt-go","owner":"adaptant-labs","description":"CLI utilities and Go library for generating and validating Consent Receipts","archived":false,"fork":false,"pushed_at":"2020-01-07T16:10:29.000Z","size":66,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-30T12:28:07.766Z","etag":null,"topics":["consent","consent-management","consent-receipt","consent-receipts","data-portability","golang-library","service-portability"],"latest_commit_sha":null,"homepage":null,"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/adaptant-labs.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":"2019-11-07T15:50:02.000Z","updated_at":"2020-01-07T16:10:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"99c98687-27e6-4eae-b8da-bd366d899738","html_url":"https://github.com/adaptant-labs/consent-receipt-go","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaptant-labs%2Fconsent-receipt-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaptant-labs%2Fconsent-receipt-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaptant-labs%2Fconsent-receipt-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaptant-labs%2Fconsent-receipt-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adaptant-labs","download_url":"https://codeload.github.com/adaptant-labs/consent-receipt-go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245472514,"owners_count":20621125,"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":["consent","consent-management","consent-receipt","consent-receipts","data-portability","golang-library","service-portability"],"created_at":"2024-12-03T09:12:35.399Z","updated_at":"2025-03-25T13:41:09.208Z","avatar_url":"https://github.com/adaptant-labs.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# consent-receipt-go\n\n[![godoc](https://godoc.org/github.com/adaptant-labs/consent-receipt-go?status.svg)](http://godoc.org/github.com/adaptant-labs/consent-receipt-go)\n[![Build Status](https://travis-ci.com/adaptant-labs/consent-receipt-go.svg?branch=master)](https://travis-ci.com/adaptant-labs/consent-receipt-go)\n[![Go Report Card](https://goreportcard.com/badge/github.com/adaptant-labs/consent-receipt-go)](https://goreportcard.com/report/github.com/adaptant-labs/consent-receipt-go)\n\nCLI utilities and Go library for generating and validating Consent Receipts in line with the Kantara Initiative\n[Consent Receipt Specification](https://kantarainitiative.org/confluence/display/infosharing/Consent+Receipt+Specification).\n\n`consent-receipt-go` implements `KI-CR-v1.1.0` of the consent receipt specification.\n\n## Installing\n\n`consent-receipt-go` makes use of Go modules and was developed and tested with Go `1.12` and `1.13`, respectively.\nInstallation otherwise follows the same general `go get` pattern:\n\n```\n$ go get github.com/adaptant-labs/consent-receipt-go\n```\n\nwhile upgrading can be accomplished with:\n\n```\n$ go get -u github.com/adaptant-labs/consent-receipt-go\n```\n\n### Setting up Bash Completion\n\nIn the case where Bash completion for CLI sub-commands is desired, the CLI app contains a built-in script generator.\nTo install this system-wide:\n\n```\n# consent-receipt-go completion /etc/bash_completion.d/consent-receipt-go\n```\n\nand re-source the active user's `$HOME/.bashrc` or simply log out and back in.\n\nBy default, when no output file is provided to the completion command, the active completion script is written to\nstdout for run-time resolution in a user's `$HOME/.bashrc`.\n\n## Configuration\n\nConfiguration is done through a `$HOME/.consent-receipt-go.toml`.\n\n### Configuration for Validation\n\nAt present, validation of the JWT token requires knowledge of the signing key. A minimal configuration for this\nis:\n\n```toml\n[config]\n\nsigning-key = \"my-totally-secret-key\"\n```\n\n### Configuration for Generation\n\nGeneration of Consent Receipts, on the other hand, requires one (or more) `Data Controller` definition(s). An example\nof this is:\n\n```toml\n[config]\n\nsigning-key = \"my-totally-secret-key\"\nprivacy-policy = \"https://www.adaptant.io/privacy-policy\"\n\n[[controller]]\n\nname = \"Adaptant Solutions AG\"\ncontact = \"Paul Mundt\"\nphone = \"49-89-904101300\"\nemail = \"compliance@adaptant.io\"\nurl = \"https://www.adaptant.io\"\n\n        [controller.address]\n\n        country = \"DE\"\n        city = \"Deisenhofen\"\n        region = \"BY\"\n        postalcode = \"82041\"\n        address = \"Bahnhofstr. 36\"\n\n[[controller]]\n\nname = \"Additional Data Controller, Inc.\"\ncontact = \"John Smith\"\nphone = \"1-800-123-4567\"\nemail = \"example@example.com\"\n\n        [controller.address]\n\n        country = \"US\"\n        city = \"San Francisco\"\n        region = \"CA\"\n        postalcode = \"94105\"\n```\n\n## Usage\n\n```shell script\n$ consent-receipt-go --help\nconsent-receipt-go is a CLI app and library for generating and\nvalidating Consent Receipts pursuant to the Kantara Initiative\nConsent Receipt Specificiation (KI-CR-v1.1.0)\n\nUsage:\n  consent-receipt-go [command]\n\nAvailable Commands:\n  completion  Generate bash completion script\n  generate    Generate a new Consent Receipt\n  help        Help about any command\n  validate    Validate a Consent Receipt\n\nFlags:\n      --config string   config file (default is $HOME/.consent-receipt-go.toml)\n  -h, --help            help for consent-receipt-go\n      --version         version for consent-receipt-go\n\nUse \"consent-receipt-go [command] --help\" for more information about a command.\n```\n\nEach of the `generate` and `validate` sub-commands further allow specification of whether a Consent Receipt is provided\nas a `JWT Token` or as a `JSON file`, as below:\n\n```shell script\nUsage:\n  consent-receipt-go generate [command]\n\nAvailable Commands:\n  receipt     Generate a JSON-based Consent Receipt\n  token       Generate a new JWT token\n\nUsage:\n  consent-receipt-go validate [command]\n\nAvailable Commands:\n  receipt     Validate a JSON-based Consent Receipt\n  token       Validate a JWT-encoded Consent Receipt token\n```\n\n\n## API Documentation\n\nOnline API documentation is provided through `godoc`, and can be accessed directly on the\n[package entry](https://godoc.org/github.com/adaptant-labs/consent-receipt-go/api) in the godoc package repository.\n\n## Features and bugs\n\nPlease file feature requests and bugs at the [issue tracker][tracker].\n\n[tracker]: https://github.com/adaptant-labs/consent-receipt-go/issues\n\n## Acknowledgements\n\nThis project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant\nagreement No 731678.\n\n## License\n\nLicensed under the terms of the Apache 2.0 license, the full version of which can be found in the\n[LICENSE](https://raw.githubusercontent.com/adaptant-labs/consent-receipt-go/master/LICENSE) file included in the\ndistribution.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadaptant-labs%2Fconsent-receipt-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadaptant-labs%2Fconsent-receipt-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadaptant-labs%2Fconsent-receipt-go/lists"}