{"adoption": {"forks": 2155, "observed_at": "2026-08-28T04:11:26.689664+00:00", "stars": 18542}, "canonical_url": "https://ross.abutalabs.com/products/watermarks-remover", "card": {"archived": false, "artifact_type": "service", "description": "Strip multi-vendor AI provenance marks: Unicode text hygiene, statistical rewrite hooks, and C2PA/metadata from PNG/JPEG/SVG/PDF/DOCX/HTML/MD", "domain": ["privacy", "security", "files", "pdf", "developer-tools", "artificial-intelligence"], "enriched": true, "function": ["privacy", "security", "cli", "http-server", "nlp", "image-processing", "pdf", "file-system"], "health_score": 100, "homepage": "https://github.com/guillaumemeyer/watermarks-remover", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["guillaumemeyer/watermarks-remover"], "name": "guillaumemeyer/watermarks-remover", "platform": ["python", "cli", "cross-platform", "self-hosted"], "pushed_at": "2026-08-26T23:10:35+00:00", "repo": "guillaumemeyer/watermarks-remover", "stars": 18542, "tags": ["watermark-removal", "c2pa", "synthid", "ai-provenance", "agent-skill", "claude-code", "metadata-stripping", "unicode-hygiene", "exif", "content-hygiene", "natural-language-processing", "docker"], "topics": ["agent-skill", "ai", "c2pa", "claude", "provenance", "synthid", "watermark", "anthropic", "chatgpt", "gemini", "openai", "watermark-detection", "watermark-tools", "watermarking", "watermarks"], "urls": [], "use_cases": ["remove AI watermarks from my own generated images", "strip C2PA provenance metadata from PNG and JPEG files", "clean invisible Unicode and bidi characters from AI-generated text", "remove SynthID-style statistical watermarks from text", "sanitize EXIF and XMP metadata from documents and media", "integrate watermark removal into Claude Code as an agent skill", "strip metadata from PDF, DOCX, and EPUB files"], "what_it_is": "A privacy-first Python service plus agent skill that strips multi-vendor AI provenance marks (C2PA, EXIF/XMP metadata, invisible Unicode, and statistical text watermarks) from files and text the user owns. It supports many formats including PNG, JPEG, SVG, PDF, DOCX, HTML, Markdown, and media files, and integrates as a Claude Code plugin/skill driving the service over HTTP.", "when_to_avoid": ["you want to add or verify watermarks rather than remove them", "you need to strip provenance from content you do not own or have rights to", "you need a GUI application rather than a service or CLI", "you require guaranteed removal of all watermarking schemes, since statistical watermarks may only be reduced"], "when_to_choose": ["you need to remove AI provenance marks and metadata from content you own", "you want a dependency-free Python stdlib service covering many file formats", "you want watermark removal available as an agent skill or CLI", "you need to clean invisible Unicode characters from text"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/watermarks-remover", "repo": "guillaumemeyer/watermarks-remover", "role": "main", "score": 79}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.689664+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:02:01.155815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d81b7155a1a250d24d50550b4ebd43efe148531be544deb0c93bc71e6751e922", "fetched_at": "2026-08-28T04:11:26.689664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}, {"content_hash": "0709122bd92fb4326a171515ce9f54a7ad67fb77b24784d9ca7f407941e6ff46", "fetched_at": "2026-08-29T07:59:31.152264+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.689664+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:02:01.155815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d81b7155a1a250d24d50550b4ebd43efe148531be544deb0c93bc71e6751e922", "fetched_at": "2026-08-28T04:11:26.689664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}, {"content_hash": "0709122bd92fb4326a171515ce9f54a7ad67fb77b24784d9ca7f407941e6ff46", "fetched_at": "2026-08-29T07:59:31.152264+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:02:01.155815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d81b7155a1a250d24d50550b4ebd43efe148531be544deb0c93bc71e6751e922", "fetched_at": "2026-08-28T04:11:26.689664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}, {"content_hash": "0709122bd92fb4326a171515ce9f54a7ad67fb77b24784d9ca7f407941e6ff46", "fetched_at": "2026-08-29T07:59:31.152264+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.689664+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.689664+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.689664+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:02:01.155815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d81b7155a1a250d24d50550b4ebd43efe148531be544deb0c93bc71e6751e922", "fetched_at": "2026-08-28T04:11:26.689664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}, {"content_hash": "0709122bd92fb4326a171515ce9f54a7ad67fb77b24784d9ca7f407941e6ff46", "fetched_at": "2026-08-29T07:59:31.152264+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.689664+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.689664+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:02:01.155815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d81b7155a1a250d24d50550b4ebd43efe148531be544deb0c93bc71e6751e922", "fetched_at": "2026-08-28T04:11:26.689664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}, {"content_hash": "0709122bd92fb4326a171515ce9f54a7ad67fb77b24784d9ca7f407941e6ff46", "fetched_at": "2026-08-29T07:59:31.152264+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.689664+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.689664+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.689664+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:02:01.155815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d81b7155a1a250d24d50550b4ebd43efe148531be544deb0c93bc71e6751e922", "fetched_at": "2026-08-28T04:11:26.689664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}, {"content_hash": "0709122bd92fb4326a171515ce9f54a7ad67fb77b24784d9ca7f407941e6ff46", "fetched_at": "2026-08-29T07:59:31.152264+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.689664+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.689664+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:02:01.155815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d81b7155a1a250d24d50550b4ebd43efe148531be544deb0c93bc71e6751e922", "fetched_at": "2026-08-28T04:11:26.689664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}, {"content_hash": "0709122bd92fb4326a171515ce9f54a7ad67fb77b24784d9ca7f407941e6ff46", "fetched_at": "2026-08-29T07:59:31.152264+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:02:01.155815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d81b7155a1a250d24d50550b4ebd43efe148531be544deb0c93bc71e6751e922", "fetched_at": "2026-08-28T04:11:26.689664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}, {"content_hash": "0709122bd92fb4326a171515ce9f54a7ad67fb77b24784d9ca7f407941e6ff46", "fetched_at": "2026-08-29T07:59:31.152264+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:02:01.155815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d81b7155a1a250d24d50550b4ebd43efe148531be544deb0c93bc71e6751e922", "fetched_at": "2026-08-28T04:11:26.689664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}, {"content_hash": "0709122bd92fb4326a171515ce9f54a7ad67fb77b24784d9ca7f407941e6ff46", "fetched_at": "2026-08-29T07:59:31.152264+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:02:01.155815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d81b7155a1a250d24d50550b4ebd43efe148531be544deb0c93bc71e6751e922", "fetched_at": "2026-08-28T04:11:26.689664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}, {"content_hash": "0709122bd92fb4326a171515ce9f54a7ad67fb77b24784d9ca7f407941e6ff46", "fetched_at": "2026-08-29T07:59:31.152264+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/guillaumemeyer/watermarks-remover"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 1, "rhythm": 99}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 22, "days_push": 7, "days_rel": 7, "gap_med": 0, "n_releases_24m": 8}, "score": 79, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}