{"adoption": {"forks": 150, "observed_at": "2026-08-28T04:05:44.513419+00:00", "stars": 1853}, "canonical_url": "https://ross.abutalabs.com/products/easywatermark", "card": {"archived": false, "artifact_type": "application", "description": "🔒 🖼 Securely, easily add a watermark to your sensitive photos. 安全、简单地为你的敏感照片添加水印，防止被人泄露、利用", "domain": ["image-processing", "privacy", "android-tools", "photography"], "enriched": true, "function": ["image-processing", "privacy", "gui"], "health_score": 95, "homepage": null, "language": "Kotlin", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["rosuH/EasyWatermark"], "name": "rosuH/EasyWatermark", "platform": [], "pushed_at": "2026-08-26T15:48:46+00:00", "repo": "rosuH/EasyWatermark", "stars": 1853, "tags": ["watermark", "photo-protection", "offline", "text-watermark", "image-watermark", "kotlin", "android", "mobile"], "topics": ["android", "image", "tools", "watermwark", "watermark", "image-watermark"], "urls": [], "use_cases": ["add a watermark to sensitive photos before sharing them", "stamp my phone number or name on photos to deter leaks", "batch-tile a text watermark across an entire picture", "overlay a sticker or logo image on a photo", "make meme-style images with ghostly watermark effects", "protect photos offline without uploading them anywhere"], "what_it_is": "EasyWatermark is an open-source Android app for adding text or image watermarks to photos, built to protect sensitive images from leaking or misuse. It works fully offline with no tracking or analytics, and supports customizable fonts, colors, transparency, rotation, and tiled watermark layouts.", "when_to_avoid": ["you need desktop or iOS watermarking", "you require batch processing of large photo libraries with advanced editing", "you need video watermarking"], "when_to_choose": ["you need a privacy-focused, fully offline watermarking tool on Android", "you want open-source software with no tracking or permissions for API 29+", "you need customizable text and image watermarks with layout control"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/easywatermark", "repo": "rosuH/EasyWatermark", "role": "main", "score": 72}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.513419+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.005898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09a65e8c600447505e87f54b83fb6f3f4d4868324ac3a06eac1a4ac41b18100d", "fetched_at": "2026-08-28T04:05:44.513419+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rosuH/EasyWatermark"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.513419+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.005898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09a65e8c600447505e87f54b83fb6f3f4d4868324ac3a06eac1a4ac41b18100d", "fetched_at": "2026-08-28T04:05:44.513419+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rosuH/EasyWatermark"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.005898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09a65e8c600447505e87f54b83fb6f3f4d4868324ac3a06eac1a4ac41b18100d", "fetched_at": "2026-08-28T04:05:44.513419+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rosuH/EasyWatermark"}], "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:05:44.513419+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.513419+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.513419+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.005898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09a65e8c600447505e87f54b83fb6f3f4d4868324ac3a06eac1a4ac41b18100d", "fetched_at": "2026-08-28T04:05:44.513419+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rosuH/EasyWatermark"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.513419+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.513419+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.005898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09a65e8c600447505e87f54b83fb6f3f4d4868324ac3a06eac1a4ac41b18100d", "fetched_at": "2026-08-28T04:05:44.513419+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rosuH/EasyWatermark"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.513419+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.513419+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.513419+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.005898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09a65e8c600447505e87f54b83fb6f3f4d4868324ac3a06eac1a4ac41b18100d", "fetched_at": "2026-08-28T04:05:44.513419+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rosuH/EasyWatermark"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.513419+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.513419+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.005898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09a65e8c600447505e87f54b83fb6f3f4d4868324ac3a06eac1a4ac41b18100d", "fetched_at": "2026-08-28T04:05:44.513419+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rosuH/EasyWatermark"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.005898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09a65e8c600447505e87f54b83fb6f3f4d4868324ac3a06eac1a4ac41b18100d", "fetched_at": "2026-08-28T04:05:44.513419+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rosuH/EasyWatermark"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.005898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09a65e8c600447505e87f54b83fb6f3f4d4868324ac3a06eac1a4ac41b18100d", "fetched_at": "2026-08-28T04:05:44.513419+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rosuH/EasyWatermark"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.005898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09a65e8c600447505e87f54b83fb6f3f4d4868324ac3a06eac1a4ac41b18100d", "fetched_at": "2026-08-28T04:05:44.513419+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rosuH/EasyWatermark"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 22}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2235, "days_push": 7, "days_rel": 311, "gap_med": 203.5, "n_releases_24m": 3}, "score": 72, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}