{"adoption": {"forks": 160, "observed_at": "2026-08-28T04:04:09.971885+00:00", "stars": 1260}, "canonical_url": "https://ross.abutalabs.com/products/strong_parameters", "card": {"archived": true, "artifact_type": "library", "description": "Taint and required checking for Action Pack and enforcement in Active Model", "domain": ["web-development", "backend", "security"], "enriched": true, "function": ["security", "middleware", "form-handling"], "health_score": 10, "homepage": null, "language": "Ruby", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["rails/strong_parameters"], "name": "rails/strong_parameters", "platform": ["ruby"], "pushed_at": "2017-08-08T18:36:31+00:00", "repo": "rails/strong_parameters", "stars": 1260, "tags": ["rails", "mass-assignment-protection", "parameter-whitelisting", "strong-parameters", "web-server"], "topics": [], "urls": [], "use_cases": ["prevent mass assignment vulnerabilities in Rails controllers", "whitelist which request parameters can update model attributes", "require certain params and return 400 Bad Request when missing", "permit nested parameters for forms with nested attributes", "filter out unpermitted scalar, array, and hash params", "secure create and update actions in a Rails API"], "what_it_is": "Strong Parameters is a Ruby gem that provides whitelisting (permit) and required-key checking for Action Controller parameters, preventing accidental mass assignment of unpermitted attributes in Active Model. It is the standalone backport of the parameter filtering now built into Rails, with its last release in 2017 since the functionality lives in Rails itself.", "when_to_avoid": ["you are on Rails 4 or newer, where strong parameters are built into Action Controller", "you need actively maintained parameter validation tooling"], "when_to_choose": ["you are on an old Rails 3.x app that needs mass assignment protection", "you want the standalone gem version of strong parameters outside a full Rails upgrade"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/strong_parameters", "repo": "rails/strong_parameters", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.971885+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.393606+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "97f5fb4c235619fa7c763d618f171eac3c5e80bf7cc88936f89fa94e71b5458b", "fetched_at": "2026-08-28T04:04:09.971885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rails/strong_parameters"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.971885+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.393606+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "97f5fb4c235619fa7c763d618f171eac3c5e80bf7cc88936f89fa94e71b5458b", "fetched_at": "2026-08-28T04:04:09.971885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rails/strong_parameters"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.393606+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "97f5fb4c235619fa7c763d618f171eac3c5e80bf7cc88936f89fa94e71b5458b", "fetched_at": "2026-08-28T04:04:09.971885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rails/strong_parameters"}], "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:04:09.971885+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.971885+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.971885+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.393606+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "97f5fb4c235619fa7c763d618f171eac3c5e80bf7cc88936f89fa94e71b5458b", "fetched_at": "2026-08-28T04:04:09.971885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rails/strong_parameters"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.971885+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.971885+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.393606+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "97f5fb4c235619fa7c763d618f171eac3c5e80bf7cc88936f89fa94e71b5458b", "fetched_at": "2026-08-28T04:04:09.971885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rails/strong_parameters"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.971885+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.971885+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.971885+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.393606+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "97f5fb4c235619fa7c763d618f171eac3c5e80bf7cc88936f89fa94e71b5458b", "fetched_at": "2026-08-28T04:04:09.971885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rails/strong_parameters"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.971885+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.971885+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.393606+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "97f5fb4c235619fa7c763d618f171eac3c5e80bf7cc88936f89fa94e71b5458b", "fetched_at": "2026-08-28T04:04:09.971885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rails/strong_parameters"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.393606+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "97f5fb4c235619fa7c763d618f171eac3c5e80bf7cc88936f89fa94e71b5458b", "fetched_at": "2026-08-28T04:04:09.971885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rails/strong_parameters"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.393606+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "97f5fb4c235619fa7c763d618f171eac3c5e80bf7cc88936f89fa94e71b5458b", "fetched_at": "2026-08-28T04:04:09.971885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rails/strong_parameters"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.393606+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "97f5fb4c235619fa7c763d618f171eac3c5e80bf7cc88936f89fa94e71b5458b", "fetched_at": "2026-08-28T04:04:09.971885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rails/strong_parameters"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5286, "days_push": 3312, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}