{"ref":"artifact:atudor2-abap-pwnedpasswords","page":"/artifacts/atudor2-abap-pwnedpasswords","json":"/artifacts/atudor2-abap-pwnedpasswords.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"atudor2-abap-pwnedpasswords","name":"abap-pwnedpasswords","artifact_type":"package","ecosystem":"abap","flavors":[{"key":"standard-abap","source":{"url":"https://github.com/atudor2/abap-pwnedpasswords","title":"atudor2/abap-pwnedpasswords — README","checked":"2026-10-18","quote":"Built and tested with ABAP 7.52 SP01, but should work with any releases >= 7.50"}}],"domain":"security-and-compliance","origin_ring":"independent","description":{"one_line":"Checks from ABAP whether a password appears in the Have I Been Pwned breached-password list, wrapping the Pwned Passwords API V3 in one call that answers with a boolean.","short":"Checks passwords against Have I Been Pwned from ABAP","what_it_solves":"Checking a password against a breach list means calling a service outside the ABAP system. This wraps the [Pwned Passwords API V3](https://haveibeenpwned.com/API/v3#PwnedPasswords) so an ABAP program can ask in one call: an instance from `zcl_pwned_passwords=>create( )` answers `is_password_pwned` with a boolean, and `get_password_status` returns the fuller detail behind it. The SSL certificate for `https://api.pwnedpasswords.com/` has to be in STRUST before the API can be called, for which the maintainer points at the [abapGit SSL setup guide](https://docs.abapgit.org/guide-ssl-setup.html) with that certificate in place of GitHub's."},"links":{"repo":"https://github.com/atudor2/abap-pwnedpasswords"},"identity":{"license":"MIT"},"source_available":true,"provides":[{"capability":"capability:authentication","what_it_does":"Wraps the Pwned Passwords API V3 so an ABAP program can check in one call whether a candidate password has appeared in a breach, returning a boolean or the fuller detail behind it.","sources":[{"url":"https://github.com/atudor2/abap-pwnedpasswords","title":"atudor2/abap-pwnedpasswords — README","checked":"2026-09-14","quote":"Pwned Passwords implementation for ABAP"}]}],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:dotabap"}],"first_seen":"2026-09-14"},"maintainers":["actor:atudor2"],"contributors":["actor:atudor2","actor:mbtools"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"2 contributors"},{"label":"Repository","tier":"good","evidence":"pushed 2026-08, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"fair","evidence":"README 2 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":2,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":2,"forks":2,"open_issues":0,"archived":false,"pushed_at":"2026-08-13","license_spdx":"MIT","org_owned":false,"default_branch":"master","created_at":"2019-01-21T08:16:52Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":1552,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2019-01-21","last_commit":"2026-08-13","commits":20,"contributors":2,"readme_path":"README.md","readme_sha":"eafddbdaf118ceb1a1ac0dd1922a80098eae5e45","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:atudor2","name":"Alistair Tudor","json":"/actors/atudor2.json"}],"contributors":[{"ref":"actor:atudor2","name":"Alistair Tudor","json":"/actors/atudor2.json"},{"ref":"actor:mbtools","name":"Marc Bernard","json":"/actors/mbtools.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}