{"adoption": {"forks": 358, "observed_at": "2026-08-28T04:05:32.481860+00:00", "stars": 1759}, "canonical_url": "https://ross.abutalabs.com/products/privacyidea", "card": {"archived": false, "artifact_type": "service", "description": ":closed_lock_with_key: multi factor authentication system (2FA, MFA, OTP, FIDO Server)", "domain": ["security", "self-hosted", "backend"], "enriched": true, "function": ["auth", "authorization", "security", "logging"], "health_score": 100, "homepage": "http://www.privacyidea.org", "language": "Python", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "stable", "member_repos": ["privacyidea/privacyidea"], "name": "privacyidea/privacyidea", "platform": ["python", "self-hosted"], "pushed_at": "2026-08-26T15:21:56+00:00", "repo": "privacyidea/privacyidea", "stars": 1759, "tags": ["2fa", "mfa", "otp", "fido2", "webauthn", "passkeys", "push-authentication", "hotp", "totp", "yubikey", "u2f", "radius", "token-management", "rest-api", "ldap", "audit-trail", "identity-and-access-management", "linux", "web-server"], "topics": ["python", "two-factor", "authentication", "identityserver", "idm", "2fa", "mfa", "otp", "certificates", "ca", "otp-server", "two-factor-authentication", "opensource", "fido", "fido2", "passkey", "passkeys", "push", "security-key", "webauthn"], "urls": [], "use_cases": ["add two-factor authentication to vpn and ssh logins", "self-hosted 2fa server for an entire company", "centrally manage otp tokens for many servers", "fido2 webauthn passkey authentication server", "add mfa to existing ldap or active directory users", "push-based login approval for web portals", "secure wordpress or otrs login with a second factor"], "what_it_is": "privacyIDEA is an open-source, self-hosted multi-factor authentication (MFA) server that centrally manages authentication tokens—OTP (HOTP/TOTP), FIDO2/WebAuthn passkeys, push, SMS, email, U2F, YubiKey, and certificates—and adds second factors to services like VPNs, SSH, and web portals. Written in Python, it provides a WebUI, a JWT-secured REST API, policy-based configuration, an audit trail, and connects to existing user stores such as AD, LDAP, SQL, and EntraID.", "when_to_avoid": ["You only need a small TOTP/HOTP library embedded in a single application rather than a full authentication server", "You want a fully managed, cloud-hosted MFA/SaaS product with zero infrastructure to operate", "You need a complete SSO identity provider with SAML/OIDC as its core role—pair privacyIDEA with an IdP like Keycloak instead of using it alone", "You require a solution running natively on Windows/macOS desktops; privacyIDEA is designed to run on Linux servers"], "when_to_choose": ["You need one central MFA server to add a second factor to many heterogeneous services (VPN, SSH, web apps, RADIUS-based logins)", "You must keep user data and authentication on-premise under your own control instead of a cloud identity provider", "You need broad token support (FIDO2/WebAuthn, push, HOTP/TOTP, SMS, email, smartcards) while reusing existing user stores like AD, LDAP, or SQL", "You want policy-driven, multi-tenant token management with a REST API and detailed audit trail"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/privacyidea", "repo": "privacyidea/privacyidea", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.481860+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:27:32.353672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49a9101b272f7987572c812c2f2203cb14e9a7d8d447268029c5f352a8cf2b32", "fetched_at": "2026-08-28T04:05:32.481860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/privacyidea/privacyidea"}, {"content_hash": "63f88e864f258eb9efce977c0282f006b3693e7d0da6e4736faa3fd2589a75ba", "fetched_at": "2026-08-29T11:05:51.831200+00:00", "kind": "homepage", "missing": false, "url": "http://www.privacyidea.org"}, {"content_hash": "70d6ed96a0fb62404ecf422d3f173bbfe759dbce812e5d4743db8aa3def82769", "fetched_at": "2026-08-29T11:05:51.840256+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/about-the-name-privacyidea"}, {"content_hash": "6d02ffb49f38b7d8b88a4d5e3042c2ce56a32fed4a953522efd9b4cd6ffb4f8f", "fetched_at": "2026-08-29T11:05:51.841989+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/features"}, {"content_hash": "3c13d5d4c88600f3c4823494a162738f2f9813196df2f94b608bc1fcb475e42c", "fetched_at": "2026-08-29T11:05:51.843924+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation"}, {"content_hash": "0252bfbe1bad7a008425f011ce9b77691956c729888cbbacc66a2f1021742ee8", "fetched_at": "2026-08-29T11:05:51.845633+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/api"}, {"content_hash": "0d202545daf44db81e6ba2672823ab5e9a6fcec51bbb54e5b858a2b416ddc066", "fetched_at": "2026-08-29T11:05:51.847281+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos"}, {"content_hash": "2054661e532a04ec5bc10982fc12a74b08206608974601dba36317c69989738e", "fetched_at": "2026-08-29T11:05:51.849086+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-run-privacyidea-with-apache2-and-mysql"}, {"content_hash": "095589d3ee0f73a8271f8c4f8c52674f00f60eda2baf4691c47f1a0b17a9ee4d", "fetched_at": "2026-08-29T11:05:51.850831+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-add-two-factor-authentication-to-otrs-with-privacyidea"}, {"content_hash": "878a2e568f301d39e4c5506ca73a4aecfceb7f0b03639321fecf353677f3eb6e", "fetched_at": "2026-08-29T11:05:51.852417+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/manage-two-factor-authentication-in-your-serverfarm-easily"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.481860+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:27:32.353672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49a9101b272f7987572c812c2f2203cb14e9a7d8d447268029c5f352a8cf2b32", "fetched_at": "2026-08-28T04:05:32.481860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/privacyidea/privacyidea"}, {"content_hash": "63f88e864f258eb9efce977c0282f006b3693e7d0da6e4736faa3fd2589a75ba", "fetched_at": "2026-08-29T11:05:51.831200+00:00", "kind": "homepage", "missing": false, "url": "http://www.privacyidea.org"}, {"content_hash": "70d6ed96a0fb62404ecf422d3f173bbfe759dbce812e5d4743db8aa3def82769", "fetched_at": "2026-08-29T11:05:51.840256+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/about-the-name-privacyidea"}, {"content_hash": "6d02ffb49f38b7d8b88a4d5e3042c2ce56a32fed4a953522efd9b4cd6ffb4f8f", "fetched_at": "2026-08-29T11:05:51.841989+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/features"}, {"content_hash": "3c13d5d4c88600f3c4823494a162738f2f9813196df2f94b608bc1fcb475e42c", "fetched_at": "2026-08-29T11:05:51.843924+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation"}, {"content_hash": "0252bfbe1bad7a008425f011ce9b77691956c729888cbbacc66a2f1021742ee8", "fetched_at": "2026-08-29T11:05:51.845633+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/api"}, {"content_hash": "0d202545daf44db81e6ba2672823ab5e9a6fcec51bbb54e5b858a2b416ddc066", "fetched_at": "2026-08-29T11:05:51.847281+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos"}, {"content_hash": "2054661e532a04ec5bc10982fc12a74b08206608974601dba36317c69989738e", "fetched_at": "2026-08-29T11:05:51.849086+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-run-privacyidea-with-apache2-and-mysql"}, {"content_hash": "095589d3ee0f73a8271f8c4f8c52674f00f60eda2baf4691c47f1a0b17a9ee4d", "fetched_at": "2026-08-29T11:05:51.850831+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-add-two-factor-authentication-to-otrs-with-privacyidea"}, {"content_hash": "878a2e568f301d39e4c5506ca73a4aecfceb7f0b03639321fecf353677f3eb6e", "fetched_at": "2026-08-29T11:05:51.852417+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/manage-two-factor-authentication-in-your-serverfarm-easily"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:27:32.353672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49a9101b272f7987572c812c2f2203cb14e9a7d8d447268029c5f352a8cf2b32", "fetched_at": "2026-08-28T04:05:32.481860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/privacyidea/privacyidea"}, {"content_hash": "63f88e864f258eb9efce977c0282f006b3693e7d0da6e4736faa3fd2589a75ba", "fetched_at": "2026-08-29T11:05:51.831200+00:00", "kind": "homepage", "missing": false, "url": "http://www.privacyidea.org"}, {"content_hash": "70d6ed96a0fb62404ecf422d3f173bbfe759dbce812e5d4743db8aa3def82769", "fetched_at": "2026-08-29T11:05:51.840256+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/about-the-name-privacyidea"}, {"content_hash": "6d02ffb49f38b7d8b88a4d5e3042c2ce56a32fed4a953522efd9b4cd6ffb4f8f", "fetched_at": "2026-08-29T11:05:51.841989+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/features"}, {"content_hash": "3c13d5d4c88600f3c4823494a162738f2f9813196df2f94b608bc1fcb475e42c", "fetched_at": "2026-08-29T11:05:51.843924+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation"}, {"content_hash": "0252bfbe1bad7a008425f011ce9b77691956c729888cbbacc66a2f1021742ee8", "fetched_at": "2026-08-29T11:05:51.845633+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/api"}, {"content_hash": "0d202545daf44db81e6ba2672823ab5e9a6fcec51bbb54e5b858a2b416ddc066", "fetched_at": "2026-08-29T11:05:51.847281+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos"}, {"content_hash": "2054661e532a04ec5bc10982fc12a74b08206608974601dba36317c69989738e", "fetched_at": "2026-08-29T11:05:51.849086+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-run-privacyidea-with-apache2-and-mysql"}, {"content_hash": "095589d3ee0f73a8271f8c4f8c52674f00f60eda2baf4691c47f1a0b17a9ee4d", "fetched_at": "2026-08-29T11:05:51.850831+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-add-two-factor-authentication-to-otrs-with-privacyidea"}, {"content_hash": "878a2e568f301d39e4c5506ca73a4aecfceb7f0b03639321fecf353677f3eb6e", "fetched_at": "2026-08-29T11:05:51.852417+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/manage-two-factor-authentication-in-your-serverfarm-easily"}], "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:32.481860+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.481860+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.481860+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:27:32.353672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49a9101b272f7987572c812c2f2203cb14e9a7d8d447268029c5f352a8cf2b32", "fetched_at": "2026-08-28T04:05:32.481860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/privacyidea/privacyidea"}, {"content_hash": "63f88e864f258eb9efce977c0282f006b3693e7d0da6e4736faa3fd2589a75ba", "fetched_at": "2026-08-29T11:05:51.831200+00:00", "kind": "homepage", "missing": false, "url": "http://www.privacyidea.org"}, {"content_hash": "70d6ed96a0fb62404ecf422d3f173bbfe759dbce812e5d4743db8aa3def82769", "fetched_at": "2026-08-29T11:05:51.840256+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/about-the-name-privacyidea"}, {"content_hash": "6d02ffb49f38b7d8b88a4d5e3042c2ce56a32fed4a953522efd9b4cd6ffb4f8f", "fetched_at": "2026-08-29T11:05:51.841989+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/features"}, {"content_hash": "3c13d5d4c88600f3c4823494a162738f2f9813196df2f94b608bc1fcb475e42c", "fetched_at": "2026-08-29T11:05:51.843924+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation"}, {"content_hash": "0252bfbe1bad7a008425f011ce9b77691956c729888cbbacc66a2f1021742ee8", "fetched_at": "2026-08-29T11:05:51.845633+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/api"}, {"content_hash": "0d202545daf44db81e6ba2672823ab5e9a6fcec51bbb54e5b858a2b416ddc066", "fetched_at": "2026-08-29T11:05:51.847281+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos"}, {"content_hash": "2054661e532a04ec5bc10982fc12a74b08206608974601dba36317c69989738e", "fetched_at": "2026-08-29T11:05:51.849086+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-run-privacyidea-with-apache2-and-mysql"}, {"content_hash": "095589d3ee0f73a8271f8c4f8c52674f00f60eda2baf4691c47f1a0b17a9ee4d", "fetched_at": "2026-08-29T11:05:51.850831+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-add-two-factor-authentication-to-otrs-with-privacyidea"}, {"content_hash": "878a2e568f301d39e4c5506ca73a4aecfceb7f0b03639321fecf353677f3eb6e", "fetched_at": "2026-08-29T11:05:51.852417+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/manage-two-factor-authentication-in-your-serverfarm-easily"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.481860+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.481860+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:27:32.353672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49a9101b272f7987572c812c2f2203cb14e9a7d8d447268029c5f352a8cf2b32", "fetched_at": "2026-08-28T04:05:32.481860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/privacyidea/privacyidea"}, {"content_hash": "63f88e864f258eb9efce977c0282f006b3693e7d0da6e4736faa3fd2589a75ba", "fetched_at": "2026-08-29T11:05:51.831200+00:00", "kind": "homepage", "missing": false, "url": "http://www.privacyidea.org"}, {"content_hash": "70d6ed96a0fb62404ecf422d3f173bbfe759dbce812e5d4743db8aa3def82769", "fetched_at": "2026-08-29T11:05:51.840256+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/about-the-name-privacyidea"}, {"content_hash": "6d02ffb49f38b7d8b88a4d5e3042c2ce56a32fed4a953522efd9b4cd6ffb4f8f", "fetched_at": "2026-08-29T11:05:51.841989+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/features"}, {"content_hash": "3c13d5d4c88600f3c4823494a162738f2f9813196df2f94b608bc1fcb475e42c", "fetched_at": "2026-08-29T11:05:51.843924+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation"}, {"content_hash": "0252bfbe1bad7a008425f011ce9b77691956c729888cbbacc66a2f1021742ee8", "fetched_at": "2026-08-29T11:05:51.845633+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/api"}, {"content_hash": "0d202545daf44db81e6ba2672823ab5e9a6fcec51bbb54e5b858a2b416ddc066", "fetched_at": "2026-08-29T11:05:51.847281+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos"}, {"content_hash": "2054661e532a04ec5bc10982fc12a74b08206608974601dba36317c69989738e", "fetched_at": "2026-08-29T11:05:51.849086+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-run-privacyidea-with-apache2-and-mysql"}, {"content_hash": "095589d3ee0f73a8271f8c4f8c52674f00f60eda2baf4691c47f1a0b17a9ee4d", "fetched_at": "2026-08-29T11:05:51.850831+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-add-two-factor-authentication-to-otrs-with-privacyidea"}, {"content_hash": "878a2e568f301d39e4c5506ca73a4aecfceb7f0b03639321fecf353677f3eb6e", "fetched_at": "2026-08-29T11:05:51.852417+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/manage-two-factor-authentication-in-your-serverfarm-easily"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.481860+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.481860+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.481860+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:27:32.353672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49a9101b272f7987572c812c2f2203cb14e9a7d8d447268029c5f352a8cf2b32", "fetched_at": "2026-08-28T04:05:32.481860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/privacyidea/privacyidea"}, {"content_hash": "63f88e864f258eb9efce977c0282f006b3693e7d0da6e4736faa3fd2589a75ba", "fetched_at": "2026-08-29T11:05:51.831200+00:00", "kind": "homepage", "missing": false, "url": "http://www.privacyidea.org"}, {"content_hash": "70d6ed96a0fb62404ecf422d3f173bbfe759dbce812e5d4743db8aa3def82769", "fetched_at": "2026-08-29T11:05:51.840256+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/about-the-name-privacyidea"}, {"content_hash": "6d02ffb49f38b7d8b88a4d5e3042c2ce56a32fed4a953522efd9b4cd6ffb4f8f", "fetched_at": "2026-08-29T11:05:51.841989+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/features"}, {"content_hash": "3c13d5d4c88600f3c4823494a162738f2f9813196df2f94b608bc1fcb475e42c", "fetched_at": "2026-08-29T11:05:51.843924+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation"}, {"content_hash": "0252bfbe1bad7a008425f011ce9b77691956c729888cbbacc66a2f1021742ee8", "fetched_at": "2026-08-29T11:05:51.845633+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/api"}, {"content_hash": "0d202545daf44db81e6ba2672823ab5e9a6fcec51bbb54e5b858a2b416ddc066", "fetched_at": "2026-08-29T11:05:51.847281+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos"}, {"content_hash": "2054661e532a04ec5bc10982fc12a74b08206608974601dba36317c69989738e", "fetched_at": "2026-08-29T11:05:51.849086+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-run-privacyidea-with-apache2-and-mysql"}, {"content_hash": "095589d3ee0f73a8271f8c4f8c52674f00f60eda2baf4691c47f1a0b17a9ee4d", "fetched_at": "2026-08-29T11:05:51.850831+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-add-two-factor-authentication-to-otrs-with-privacyidea"}, {"content_hash": "878a2e568f301d39e4c5506ca73a4aecfceb7f0b03639321fecf353677f3eb6e", "fetched_at": "2026-08-29T11:05:51.852417+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/manage-two-factor-authentication-in-your-serverfarm-easily"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.481860+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.481860+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:27:32.353672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49a9101b272f7987572c812c2f2203cb14e9a7d8d447268029c5f352a8cf2b32", "fetched_at": "2026-08-28T04:05:32.481860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/privacyidea/privacyidea"}, {"content_hash": "63f88e864f258eb9efce977c0282f006b3693e7d0da6e4736faa3fd2589a75ba", "fetched_at": "2026-08-29T11:05:51.831200+00:00", "kind": "homepage", "missing": false, "url": "http://www.privacyidea.org"}, {"content_hash": "70d6ed96a0fb62404ecf422d3f173bbfe759dbce812e5d4743db8aa3def82769", "fetched_at": "2026-08-29T11:05:51.840256+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/about-the-name-privacyidea"}, {"content_hash": "6d02ffb49f38b7d8b88a4d5e3042c2ce56a32fed4a953522efd9b4cd6ffb4f8f", "fetched_at": "2026-08-29T11:05:51.841989+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/features"}, {"content_hash": "3c13d5d4c88600f3c4823494a162738f2f9813196df2f94b608bc1fcb475e42c", "fetched_at": "2026-08-29T11:05:51.843924+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation"}, {"content_hash": "0252bfbe1bad7a008425f011ce9b77691956c729888cbbacc66a2f1021742ee8", "fetched_at": "2026-08-29T11:05:51.845633+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/api"}, {"content_hash": "0d202545daf44db81e6ba2672823ab5e9a6fcec51bbb54e5b858a2b416ddc066", "fetched_at": "2026-08-29T11:05:51.847281+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos"}, {"content_hash": "2054661e532a04ec5bc10982fc12a74b08206608974601dba36317c69989738e", "fetched_at": "2026-08-29T11:05:51.849086+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-run-privacyidea-with-apache2-and-mysql"}, {"content_hash": "095589d3ee0f73a8271f8c4f8c52674f00f60eda2baf4691c47f1a0b17a9ee4d", "fetched_at": "2026-08-29T11:05:51.850831+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-add-two-factor-authentication-to-otrs-with-privacyidea"}, {"content_hash": "878a2e568f301d39e4c5506ca73a4aecfceb7f0b03639321fecf353677f3eb6e", "fetched_at": "2026-08-29T11:05:51.852417+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/manage-two-factor-authentication-in-your-serverfarm-easily"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:27:32.353672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49a9101b272f7987572c812c2f2203cb14e9a7d8d447268029c5f352a8cf2b32", "fetched_at": "2026-08-28T04:05:32.481860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/privacyidea/privacyidea"}, {"content_hash": "63f88e864f258eb9efce977c0282f006b3693e7d0da6e4736faa3fd2589a75ba", "fetched_at": "2026-08-29T11:05:51.831200+00:00", "kind": "homepage", "missing": false, "url": "http://www.privacyidea.org"}, {"content_hash": "70d6ed96a0fb62404ecf422d3f173bbfe759dbce812e5d4743db8aa3def82769", "fetched_at": "2026-08-29T11:05:51.840256+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/about-the-name-privacyidea"}, {"content_hash": "6d02ffb49f38b7d8b88a4d5e3042c2ce56a32fed4a953522efd9b4cd6ffb4f8f", "fetched_at": "2026-08-29T11:05:51.841989+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/features"}, {"content_hash": "3c13d5d4c88600f3c4823494a162738f2f9813196df2f94b608bc1fcb475e42c", "fetched_at": "2026-08-29T11:05:51.843924+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation"}, {"content_hash": "0252bfbe1bad7a008425f011ce9b77691956c729888cbbacc66a2f1021742ee8", "fetched_at": "2026-08-29T11:05:51.845633+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/api"}, {"content_hash": "0d202545daf44db81e6ba2672823ab5e9a6fcec51bbb54e5b858a2b416ddc066", "fetched_at": "2026-08-29T11:05:51.847281+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos"}, {"content_hash": "2054661e532a04ec5bc10982fc12a74b08206608974601dba36317c69989738e", "fetched_at": "2026-08-29T11:05:51.849086+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-run-privacyidea-with-apache2-and-mysql"}, {"content_hash": "095589d3ee0f73a8271f8c4f8c52674f00f60eda2baf4691c47f1a0b17a9ee4d", "fetched_at": "2026-08-29T11:05:51.850831+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-add-two-factor-authentication-to-otrs-with-privacyidea"}, {"content_hash": "878a2e568f301d39e4c5506ca73a4aecfceb7f0b03639321fecf353677f3eb6e", "fetched_at": "2026-08-29T11:05:51.852417+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/manage-two-factor-authentication-in-your-serverfarm-easily"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:27:32.353672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49a9101b272f7987572c812c2f2203cb14e9a7d8d447268029c5f352a8cf2b32", "fetched_at": "2026-08-28T04:05:32.481860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/privacyidea/privacyidea"}, {"content_hash": "63f88e864f258eb9efce977c0282f006b3693e7d0da6e4736faa3fd2589a75ba", "fetched_at": "2026-08-29T11:05:51.831200+00:00", "kind": "homepage", "missing": false, "url": "http://www.privacyidea.org"}, {"content_hash": "70d6ed96a0fb62404ecf422d3f173bbfe759dbce812e5d4743db8aa3def82769", "fetched_at": "2026-08-29T11:05:51.840256+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/about-the-name-privacyidea"}, {"content_hash": "6d02ffb49f38b7d8b88a4d5e3042c2ce56a32fed4a953522efd9b4cd6ffb4f8f", "fetched_at": "2026-08-29T11:05:51.841989+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/features"}, {"content_hash": "3c13d5d4c88600f3c4823494a162738f2f9813196df2f94b608bc1fcb475e42c", "fetched_at": "2026-08-29T11:05:51.843924+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation"}, {"content_hash": "0252bfbe1bad7a008425f011ce9b77691956c729888cbbacc66a2f1021742ee8", "fetched_at": "2026-08-29T11:05:51.845633+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/api"}, {"content_hash": "0d202545daf44db81e6ba2672823ab5e9a6fcec51bbb54e5b858a2b416ddc066", "fetched_at": "2026-08-29T11:05:51.847281+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos"}, {"content_hash": "2054661e532a04ec5bc10982fc12a74b08206608974601dba36317c69989738e", "fetched_at": "2026-08-29T11:05:51.849086+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-run-privacyidea-with-apache2-and-mysql"}, {"content_hash": "095589d3ee0f73a8271f8c4f8c52674f00f60eda2baf4691c47f1a0b17a9ee4d", "fetched_at": "2026-08-29T11:05:51.850831+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-add-two-factor-authentication-to-otrs-with-privacyidea"}, {"content_hash": "878a2e568f301d39e4c5506ca73a4aecfceb7f0b03639321fecf353677f3eb6e", "fetched_at": "2026-08-29T11:05:51.852417+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/manage-two-factor-authentication-in-your-serverfarm-easily"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:27:32.353672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49a9101b272f7987572c812c2f2203cb14e9a7d8d447268029c5f352a8cf2b32", "fetched_at": "2026-08-28T04:05:32.481860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/privacyidea/privacyidea"}, {"content_hash": "63f88e864f258eb9efce977c0282f006b3693e7d0da6e4736faa3fd2589a75ba", "fetched_at": "2026-08-29T11:05:51.831200+00:00", "kind": "homepage", "missing": false, "url": "http://www.privacyidea.org"}, {"content_hash": "70d6ed96a0fb62404ecf422d3f173bbfe759dbce812e5d4743db8aa3def82769", "fetched_at": "2026-08-29T11:05:51.840256+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/about-the-name-privacyidea"}, {"content_hash": "6d02ffb49f38b7d8b88a4d5e3042c2ce56a32fed4a953522efd9b4cd6ffb4f8f", "fetched_at": "2026-08-29T11:05:51.841989+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/about/features"}, {"content_hash": "3c13d5d4c88600f3c4823494a162738f2f9813196df2f94b608bc1fcb475e42c", "fetched_at": "2026-08-29T11:05:51.843924+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation"}, {"content_hash": "0252bfbe1bad7a008425f011ce9b77691956c729888cbbacc66a2f1021742ee8", "fetched_at": "2026-08-29T11:05:51.845633+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/api"}, {"content_hash": "0d202545daf44db81e6ba2672823ab5e9a6fcec51bbb54e5b858a2b416ddc066", "fetched_at": "2026-08-29T11:05:51.847281+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos"}, {"content_hash": "2054661e532a04ec5bc10982fc12a74b08206608974601dba36317c69989738e", "fetched_at": "2026-08-29T11:05:51.849086+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-run-privacyidea-with-apache2-and-mysql"}, {"content_hash": "095589d3ee0f73a8271f8c4f8c52674f00f60eda2baf4691c47f1a0b17a9ee4d", "fetched_at": "2026-08-29T11:05:51.850831+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/howto-add-two-factor-authentication-to-otrs-with-privacyidea"}, {"content_hash": "878a2e568f301d39e4c5506ca73a4aecfceb7f0b03639321fecf353677f3eb6e", "fetched_at": "2026-08-29T11:05:51.852417+00:00", "kind": "site_page", "missing": false, "url": "https://www.privacyidea.org/documentation/howtos/manage-two-factor-authentication-in-your-serverfarm-easily"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 80}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4474, "days_push": 7, "days_rel": 57, "gap_med": 39, "n_releases_24m": 14}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}