# Civic Transparency Schemas (README.md)
[](./LICENSE)
> JSON Schema definitions for privacy-preserving social media transparency APIs.
## Schemas
| Schema | Purpose | Status |
|--------|---------|--------|
| [`provenance_tag.schema.json`](./src/ci/transparency/spec/schemas/provenance_tag.schema.json) | Per-post behavioral metadata | Draft |
| [`series.schema.json`](./src/ci/transparency/spec/schemas/series.schema.json) | Aggregated time series API responses | Draft |
| [`transparency_api.openapi.yaml`](./src/ci/transparency/spec/schemas/transparency_api.openapi.yaml) | REST API specification | Draft |
## Implementation
1. Generate provenance tags when posts are created
2. Aggregate tags into time buckets with k-anonymity (k≥100)
3. Expose aggregated data via REST API
See [API documentation](./src/ci/transparency/spec/schemas/transparency_api.openapi.yaml) for complete specification.
## Privacy
- All responses maintain k-anonymity (k≥100)
- Individual posts and users are never exposed
- Rare categories (<5%) are grouped as "other"
- Geographic data limited to country-level
## Versioning
This specification follows semantic versioning.
See CHANGELOG.md for version history.
## License
MIT
Raw data
{
"_id": null,
"home_page": null,
"name": "civic-transparency-spec",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "civic, transparency, jsonschema, specification",
"author": "Civic Interconnect",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/3c/b4/54569de29eca6f3d71a284f71a767787486128e7f3880d548fd4e6fc791d/civic_transparency_spec-0.2.1.tar.gz",
"platform": null,
"description": "# Civic Transparency Schemas (README.md)\n\n[](./LICENSE)\n\n> JSON Schema definitions for privacy-preserving social media transparency APIs.\n\n## Schemas\n\n| Schema | Purpose | Status |\n|--------|---------|--------|\n| [`provenance_tag.schema.json`](./src/ci/transparency/spec/schemas/provenance_tag.schema.json) | Per-post behavioral metadata | Draft |\n| [`series.schema.json`](./src/ci/transparency/spec/schemas/series.schema.json) | Aggregated time series API responses | Draft |\n| [`transparency_api.openapi.yaml`](./src/ci/transparency/spec/schemas/transparency_api.openapi.yaml) | REST API specification | Draft |\n\n## Implementation\n\n1. Generate provenance tags when posts are created\n2. Aggregate tags into time buckets with k-anonymity (k\u2265100)\n3. Expose aggregated data via REST API\n\nSee [API documentation](./src/ci/transparency/spec/schemas/transparency_api.openapi.yaml) for complete specification.\n\n## Privacy\n\n- All responses maintain k-anonymity (k\u2265100)\n- Individual posts and users are never exposed\n- Rare categories (<5%) are grouped as \"other\"\n- Geographic data limited to country-level\n\n## Versioning\n\nThis specification follows semantic versioning.\nSee CHANGELOG.md for version history.\n\n## License\n\nMIT\n",
"bugtrack_url": null,
"license": null,
"summary": "Civic Transparency specification schemas",
"version": "0.2.1",
"project_urls": {
"Documentation": "https://civic-interconnect.github.io/civic-transparency-spec/latest/",
"Homepage": "https://github.com/civic-interconnect/civic-transparency-spec",
"Repository": "https://github.com/civic-interconnect/civic-transparency-spec"
},
"split_keywords": [
"civic",
" transparency",
" jsonschema",
" specification"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "949498560752a208136ca5e4f2df956779b38b4ce2fb4232769bc0c410c4badb",
"md5": "a9cb80461e06fe9b70d3cf026cc67f0d",
"sha256": "9bff7981373a4e2c481a126a896d0606c888133bad7484588a5fe70b660a26b8"
},
"downloads": -1,
"filename": "civic_transparency_spec-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a9cb80461e06fe9b70d3cf026cc67f0d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 10063,
"upload_time": "2025-08-19T17:47:09",
"upload_time_iso_8601": "2025-08-19T17:47:09.182678Z",
"url": "https://files.pythonhosted.org/packages/94/94/98560752a208136ca5e4f2df956779b38b4ce2fb4232769bc0c410c4badb/civic_transparency_spec-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3cb454569de29eca6f3d71a284f71a767787486128e7f3880d548fd4e6fc791d",
"md5": "90806fee565e68dfe2bfe83d74400907",
"sha256": "5b567a7a77ca76ceb075091a3a59884bb1d100ad1a24206409b250d2d5e7bdd7"
},
"downloads": -1,
"filename": "civic_transparency_spec-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "90806fee565e68dfe2bfe83d74400907",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 10647,
"upload_time": "2025-08-19T17:47:10",
"upload_time_iso_8601": "2025-08-19T17:47:10.585986Z",
"url": "https://files.pythonhosted.org/packages/3c/b4/54569de29eca6f3d71a284f71a767787486128e7f3880d548fd4e6fc791d/civic_transparency_spec-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-19 17:47:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "civic-interconnect",
"github_project": "civic-transparency-spec",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "civic-transparency-spec"
}