{"adoption": {"forks": 205, "observed_at": "2026-08-28T04:03:38.772000+00:00", "stars": 1116}, "canonical_url": "https://ross.abutalabs.com/products/angular-permission", "card": {"archived": false, "artifact_type": "library", "description": "Simple route authorization via roles/permissions", "domain": ["web-development", "frontend", "security"], "enriched": true, "function": ["authorization", "routing", "middleware"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["RafaelVidaurre/angular-permission"], "name": "RafaelVidaurre/angular-permission", "platform": ["browser"], "pushed_at": "2019-04-01T15:01:50+00:00", "repo": "RafaelVidaurre/angular-permission", "stars": 1116, "tags": ["angularjs", "role-based-access-control", "route-guards", "permissions", "nodejs"], "topics": [], "urls": [], "use_cases": ["restrict angular routes by user role", "add permission-based access control to an angularjs app", "redirect unauthorized users away from protected pages", "manage role definitions and permission maps in the frontend", "guard admin-only routes in a single-page application"], "what_it_is": "angular-permission is an AngularJS library providing role and permission based access control for routes. It lets developers declaratively restrict which users can access specific routes based on assigned roles and permissions.", "when_to_avoid": ["you are using modern Angular (2+), React, or Vue - this library is AngularJS-only", "you need server-side authorization enforcement, which this client-side library cannot provide", "you are starting a new project, since AngularJS is end-of-life"], "when_to_choose": ["you are building or maintaining an AngularJS (1.x) application and need route-level authorization", "you want a simple, declarative role/permission model without writing custom route guards from scratch"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/angular-permission", "repo": "RafaelVidaurre/angular-permission", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.772000+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:41:56.667758+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3116ff4b3769e254886818ca0f1500a85fdecbdd4e52ac9aba90e26ec1afcd8", "fetched_at": "2026-08-28T04:03:38.772000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RafaelVidaurre/angular-permission"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.772000+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:41:56.667758+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3116ff4b3769e254886818ca0f1500a85fdecbdd4e52ac9aba90e26ec1afcd8", "fetched_at": "2026-08-28T04:03:38.772000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RafaelVidaurre/angular-permission"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:41:56.667758+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3116ff4b3769e254886818ca0f1500a85fdecbdd4e52ac9aba90e26ec1afcd8", "fetched_at": "2026-08-28T04:03:38.772000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RafaelVidaurre/angular-permission"}], "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:03:38.772000+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.772000+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.772000+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:41:56.667758+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3116ff4b3769e254886818ca0f1500a85fdecbdd4e52ac9aba90e26ec1afcd8", "fetched_at": "2026-08-28T04:03:38.772000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RafaelVidaurre/angular-permission"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.772000+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.772000+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:41:56.667758+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3116ff4b3769e254886818ca0f1500a85fdecbdd4e52ac9aba90e26ec1afcd8", "fetched_at": "2026-08-28T04:03:38.772000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RafaelVidaurre/angular-permission"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.772000+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.772000+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.772000+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:41:56.667758+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3116ff4b3769e254886818ca0f1500a85fdecbdd4e52ac9aba90e26ec1afcd8", "fetched_at": "2026-08-28T04:03:38.772000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RafaelVidaurre/angular-permission"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.772000+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.772000+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:41:56.667758+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3116ff4b3769e254886818ca0f1500a85fdecbdd4e52ac9aba90e26ec1afcd8", "fetched_at": "2026-08-28T04:03:38.772000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RafaelVidaurre/angular-permission"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:41:56.667758+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3116ff4b3769e254886818ca0f1500a85fdecbdd4e52ac9aba90e26ec1afcd8", "fetched_at": "2026-08-28T04:03:38.772000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RafaelVidaurre/angular-permission"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:41:56.667758+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3116ff4b3769e254886818ca0f1500a85fdecbdd4e52ac9aba90e26ec1afcd8", "fetched_at": "2026-08-28T04:03:38.772000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RafaelVidaurre/angular-permission"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:41:56.667758+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3116ff4b3769e254886818ca0f1500a85fdecbdd4e52ac9aba90e26ec1afcd8", "fetched_at": "2026-08-28T04:03:38.772000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RafaelVidaurre/angular-permission"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 4383, "days_push": 2711, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}