{"adoption": {"forks": 239, "observed_at": "2026-08-28T04:05:24.018821+00:00", "stars": 1697}, "canonical_url": "https://ross.abutalabs.com/products/cypht", "card": {"archived": false, "artifact_type": "application", "description": "Cypht: Lightweight Open Source webmail aggregator [PHP, JS].  Supports IMAP/SMTP, JMAP and EWS (Exchange Web Services)", "domain": ["email", "self-hosted", "web-development", "developer-tools"], "enriched": true, "function": ["email", "web-framework", "plugin-system", "http-server"], "health_score": 100, "homepage": "http://cypht.org", "language": "PHP", "license": "LGPL-2.1", "license_family": "copyleft", "maturity": "active", "member_repos": ["cypht-org/cypht"], "name": "cypht-org/cypht", "platform": ["php", "self-hosted"], "pushed_at": "2026-08-25T15:25:11+00:00", "repo": "cypht-org/cypht", "stars": 1697, "tags": ["webmail", "webmail-aggregator", "imap", "smtp", "jmap", "ews", "pop3", "rss-reader", "email-client", "multi-account", "web-server", "docker", "linux"], "topics": ["php", "webmail", "webmail-client", "imap", "pop3", "smtp", "news-reader", "rss", "atom", "e-mail", "jmap", "ews"], "urls": [], "use_cases": ["combine all my email accounts into one webmail inbox", "self-hosted webmail client for IMAP accounts", "access Exchange email via EWS in a web browser", "read RSS and Atom feeds alongside my email", "manage multiple IMAP folders and send mail via SMTP from one place", "lightweight alternative to Roundcube or RainLoop", "unified inbox for Gmail and other providers via JMAP"], "what_it_is": "Cypht is a lightweight open-source webmail aggregator that combines multiple email accounts (IMAP/SMTP, JMAP, and EWS) into a single unified view. It is built entirely of plugin module sets on a PHP framework and also functions as an RSS/Atom news reader.", "when_to_avoid": ["you need a full-featured desktop email client with offline access", "you want a hosted, zero-setup email service", "you need calendar and contacts as first-class features out of the box", "your stack is not PHP-friendly"], "when_to_choose": ["you have multiple email accounts and want one combined web interface", "you want a self-hosted, lightweight webmail client", "you need support for IMAP, JMAP, and Exchange (EWS) in one tool", "you want an extensible webmail built on a plugin/module architecture"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cypht", "repo": "cypht-org/cypht", "role": "main", "score": 99}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.018821+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:37:51.037193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "afdfaff5e38ffdf6f6496f270785c4241c11806e845ab3f8d46d68c44312fead", "fetched_at": "2026-08-28T04:05:24.018821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cypht-org/cypht"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.018821+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:37:51.037193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "afdfaff5e38ffdf6f6496f270785c4241c11806e845ab3f8d46d68c44312fead", "fetched_at": "2026-08-28T04:05:24.018821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cypht-org/cypht"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:37:51.037193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "afdfaff5e38ffdf6f6496f270785c4241c11806e845ab3f8d46d68c44312fead", "fetched_at": "2026-08-28T04:05:24.018821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cypht-org/cypht"}], "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:24.018821+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.018821+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.018821+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:37:51.037193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "afdfaff5e38ffdf6f6496f270785c4241c11806e845ab3f8d46d68c44312fead", "fetched_at": "2026-08-28T04:05:24.018821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cypht-org/cypht"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.018821+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.018821+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:37:51.037193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "afdfaff5e38ffdf6f6496f270785c4241c11806e845ab3f8d46d68c44312fead", "fetched_at": "2026-08-28T04:05:24.018821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cypht-org/cypht"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.018821+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.018821+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.018821+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:37:51.037193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "afdfaff5e38ffdf6f6496f270785c4241c11806e845ab3f8d46d68c44312fead", "fetched_at": "2026-08-28T04:05:24.018821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cypht-org/cypht"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.018821+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.018821+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:37:51.037193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "afdfaff5e38ffdf6f6496f270785c4241c11806e845ab3f8d46d68c44312fead", "fetched_at": "2026-08-28T04:05:24.018821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cypht-org/cypht"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:37:51.037193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "afdfaff5e38ffdf6f6496f270785c4241c11806e845ab3f8d46d68c44312fead", "fetched_at": "2026-08-28T04:05:24.018821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cypht-org/cypht"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:37:51.037193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "afdfaff5e38ffdf6f6496f270785c4241c11806e845ab3f8d46d68c44312fead", "fetched_at": "2026-08-28T04:05:24.018821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cypht-org/cypht"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:37:51.037193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "afdfaff5e38ffdf6f6496f270785c4241c11806e845ab3f8d46d68c44312fead", "fetched_at": "2026-08-28T04:05:24.018821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cypht-org/cypht"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 98}, "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": 4583, "days_push": 8, "days_rel": 19, "gap_med": 15, "n_releases_24m": 20}, "score": 99, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}