{"package":"sanitize-html","ecosystem":"npm","latest_version":"2.17.5","description":"Clean up user-submitted HTML, preserving allowlisted elements and allowlisted attributes on a per-element basis","license":"MIT","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://github.com/apostrophecms/apostrophe/tree/main/packages/sanitize-html#readme","repository":"https://github.com/apostrophecms/apostrophe","downloads_weekly":9675076,"health":{"score":91,"risk":"low","breakdown":{"maintenance":25,"popularity":17,"security":25,"maturity":15,"community":9,"popularity_floor":0},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"2.17.5","total_count":124,"recent":["2.7.3","2.8.0","2.8.1","2.9.0","2.10.0","2.11.0","2.12.0","2.12.1","2.13.0","2.13.1","2.14.0","2.15.0","2.16.0","2.17.0","2.17.1","2.17.2","2.17.3","2.17.4","2.17.5-alpha.1","2.17.5"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":4,"first_published":"2013-09-10T16:22:47.586Z","last_published":"2026-06-10T17:14:18.876Z","dependencies_count":7,"dependencies":["deepmerge","escape-string-regexp","htmlparser2","is-plain-object","parse-srcset","postcss","launder"]},"github_stats":{"stars":4566,"forks":638,"open_issues":133,"is_archived":false,"pushed_at":"2026-06-12T12:39:56Z","subscribers_count":109},"bundle":{"size_kb":228.4,"gzip_kb":90.0,"dependency_count":7,"has_js_module":false,"has_side_effects":false,"scoped":false,"source":"bundlephobia"},"typescript":{"score":7,"has_types":true,"types_source":"definitely-typed","types_package":"@types/sanitize-html"},"known_issues":{"bugs_count":0,"bugs_severity":{},"status_breakdown":{},"link":null,"scope":"none"},"historical_compromise":null,"recommendation":{"action":"safe_to_use","issues":[],"use_version":"2.17.5","version_hint":null,"summary":"sanitize-html@2.17.5 is safe to use (health: 91/100)"},"version_scoped":null,"_meta":{"endpoint":"check","tier":"full","philosophy":"DepScope is free. Use the cheapest endpoint that answers your real question.","cheaper_alternatives":[{"endpoint":"/api/exists/npm/sanitize-html","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/npm/sanitize-html","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/npm/sanitize-html","tokens_estimated":280,"use_when":"you want a plain-text LLM-friendly brief instead of JSON"},{"endpoint":"POST /api/check_bulk","tokens_estimated":60,"use_when":"you have 5+ packages to check; sends one round-trip instead of N"}],"docs":"https://depscope.dev/integrate","hint_bulk":"You've called /api/check 124 times in 60s. Save bandwidth + tokens with POST /api/check_bulk (1 round-trip for N pkgs)."},"requested_version":null,"_cache":"hit","_response_ms":0,"_powered_by":"depscope.dev — free package intelligence for AI agents","typosquat":{"is_suspected":false},"maintainer_trust":{"available":false},"malicious":{"is_malicious":false},"scorecard":{"available":false},"quality":{"available":true,"criticality_score":null,"criticality_tier":null,"velocity_pct":null,"velocity_trend":null,"publish_security":"signed"},"version_history_summary":{"total_versions":20,"first_release_age_days":4660,"last_release_days_ago":4,"avg_days_between_releases":245,"release_velocity":"active"}}