https://github.com/adaptant-labs/data-minimization-service
A simple data minimization and anonymization microservice wrapped around go-minimizer
https://github.com/adaptant-labs/data-minimization-service
data-anonymization data-masking data-minimization data-tokenization microservice
Last synced: 8 months ago
JSON representation
A simple data minimization and anonymization microservice wrapped around go-minimizer
- Host: GitHub
- URL: https://github.com/adaptant-labs/data-minimization-service
- Owner: adaptant-labs
- License: apache-2.0
- Created: 2019-12-11T19:59:07.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-01-06T15:47:19.000Z (over 6 years ago)
- Last Synced: 2025-09-05T11:55:05.441Z (9 months ago)
- Topics: data-anonymization, data-masking, data-minimization, data-tokenization, microservice
- Language: Go
- Size: 12.7 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# data-minimization-service
[](https://travis-ci.com/adaptant-labs/data-minimization-service)
[](https://goreportcard.com/report/github.com/adaptant-labs/data-minimization-service)
A simple data minimization microservice wrapped around [go-minimizer].
[go-minimizer]: https://github.com/adaptant-labs/go-minimizer
## JSON interface
The data minimization service receives a JSON payload indicating the data, the type of data, and the level of
minimization to apply. These are written to the `/data` endpoint. The treated data is then returned directly as
result output.
The `type` here refers to the matching data type in [go-minimizer], such as name, email, etc. and is always a named
string. `level` similarly matches the `go-minimizer` minimization levels as a string representation. There are a number
of exceptions to the required inputs based on the minimization level:
- If `anonymize` is specified, the `input` data may be omitted.
- If `tokenize` is specified, the `input` and `type` can be omitted.
- If `mask` is specified, input is required, but `type` can be omitted. A mask pattern may also be specified via `pattern`.
Input schema:
```json
{
"input": ,
"type": "string",
"level": "fine" | "coarse" | "anonymize" | "tokenize" | "mask",
"pattern":
}
```
Output schema:
```json
{
"result":
}
```
Consumers of the JSON response must treat the result as a dynamic data type if they wish to use it generically,
as the data type backing the result will vary depending on the type of input data and the minimizer applied.
As there is no way to extract data from the service without entering something first, the caller should always
know which data type it is working with.
## Web Interface
A simplistic web interface is also included, accessible from the top-level index page.
## Features and bugs
Please file feature requests and bugs at the [issue tracker][tracker].
[tracker]: https://github.com/adaptant-labs/data-minimization-service/issues
## License
Licensed under the terms of the Apache 2.0 license, the full version of which can be found in the
[LICENSE](https://raw.githubusercontent.com/adaptant-labs/data-minimization-service/master/LICENSE) file included in the
distribution.