PHP spam protection. CAPTCHA-free alternative
CleanTalk/php-antispam має індекс здоров’я 56 зі 100, що відповідає смузі «Помірний». Найвищий показник — Sustainability & Governance (81/100), найнижчий — Security (1/100). Останнє оновлення було 4 дні тому. Більшість нещодавньої роботи виконують 3 учасники.
Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє зважене середнє, відкаліброване за розподілом публічного реєстру, тож діапазони мають перцентильний зміст; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 34 («У зоні ризику»).
Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.
Зважений загальний бал 54 калібровано до 56 за шкалою опублікованого індексу (калібрування реєстру 2026-08-02).
За цим репозиторієм стоїть організація — спільна, підзвітна опіка, здатна пережити будь-якого окремого мейнтейнера.
| Реєстр | Пакет | Версія | Завантажень / міс | Версії | Остання публікація | Теги |
|---|---|---|---|---|---|---|
| Packagist | cleantalk/php-antispam | 4.4.1 | 3 829 | 18 | 28 днів тому | apispamanti-spamantispam |
Чи живий проєкт — чи пишеться код і чи виходять релізи?
| 36/36 | Свіжість push — останній push 4 дн. тому |
| 8.3/36 | Ритм комітів — 12/52 тижнів із комітами |
| 12.9/18 | Обсяг комітів — 26 комітів за останній рік |
| 0/10 | OpenSSF Scorecard: Maintained — немає даних |
| commits_last_year | 26 |
| human_commit_share | 1 |
| days_since_last_push | 4 |
| active_weeks_last_year | 12 |
| 27/27 | Випускає релізи — опубліковано 14 релізів |
| 27/36 | Свіжість релізів — останній реліз 145 дн. тому |
| 12.6/27 | Ритм релізів — реліз кожні ~300,3 дн. |
| 0/10 | OpenSSF Scorecard: Signed-Releases — немає даних |
| releases_count | 14 |
| latest_release_tag | 4.4 |
| releases_from_tags | ні |
| days_since_latest_release | 145 |
| mean_days_between_releases | 300,3 |
Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?
| 30.1/60 | Зірки — 73 зірок |
| 12.7/25 | Форки — 34 форків |
| 6.5/15 | Спостерігачі — 16 спостерігачів |
| forks | 34 |
| stars | 73 |
| watchers | 16 |
| growth_state | unverified |
| growth_factor_pct | 100 |
| growth_unverified_reason | no_history |
| 22.5/22.5 | README |
| 0/22.5 | Ліцензія — файлу ліцензії не виявлено |
| 0/18 | Настанови CONTRIBUTING |
| 0/13.5 | Кодекс поведінки |
| 0/7.2 | Шаблон issue |
| 0/6.3 | Шаблон PR |
| has_readme | так |
| has_license | ні |
| readme_badges | 2 |
| has_contributing | ні |
| has_issue_template | ні |
| has_code_of_conduct | ні |
| readme_badge_services | github.com, poser.pugx.org |
| has_pull_request_template | ні |
| 47.8/80 | Щомісячні завантаження — 3 829 завантажень/місяць у packagist |
| 4/20 | Залежні пакети в реєстрі — залежних пакетів: 3 |
| packages | cleantalk/php-antispam |
| dependents | 3 |
| ecosystems | packagist |
| total_downloads | 623 515 |
| monthly_downloads | 3 829 |
| unverified_packages_excluded | — |
Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?
| 36/54 | Бас-фактор — на 3 контриб’ютор(ів) припадає половина всіх комітів |
| 17.1/22.5 | Розподіл комітів — головний контриб’ютор — автор 24% комітів |
| 13.5/13.5 | Широта контриб’юторів — 20 контриб’юторів |
| 0/10 | OpenSSF Scorecard: Contributors — немає даних |
| bus_factor | 3 |
| contributors_sampled | 20 |
| top_contributor_share | 0,24 |
| 42/42 | Вирішення issue — закрито 100% issue |
| 23.6/30 | Прийняття PR — злито 22/28 вирішених PR |
| 13/13 | Newcomer PR acceptance — злито 1/1 PR від новачків за 30 дн. |
| 0/15 | OpenSSF Scorecard: Code-Review — немає даних |
| merged_prs | 22 |
| open_issues | 0 |
| closed_issues | 22 |
| prs_merged_7d | 0 |
| prs_decided_7d | 0 |
| prs_merged_30d | 1 |
| prs_decided_30d | 1 |
| issue_closed_ratio | 1 |
| closed_unmerged_prs | 6 |
| first_time_authors_30d | 1 |
| first_time_prs_merged_30d | 1 |
| first_time_prs_decided_30d | 1 |
| 30/30 | Підтримка власника — у власності організації |
| 0/20 | Верифікований домен |
| 10.2/25 | Охоплення власника — 25 підписників у CleanTalk |
| 25/25 | Послужний список — 95 публічних репозиторіїв, вік облікового запису ~13 р. |
| followers | 25 |
| owner_type | Organization |
| is_verified | ні |
| owner_login | CleanTalk |
| public_repos | 95 |
| account_age_days | 4 762 |
| 25/25 | Опубліковано й доступно — 1 пакет(ів) у packagist |
| 35/35 | Свіжість публікацій — остання публікація 28 дн. тому |
| 20/20 | Історія версій — 18 опублікованих версій |
| 20/20 | Не застарілий — активний, не deprecated і не yanked |
| packages | cleantalk/php-antispam |
| ecosystems | packagist |
| any_deprecated | ні |
| min_days_since_publish | 28 |
Чи наявні базові інженерні практики та документація?
| 24/24 | Процеси CI — 1 процес(ів) CI |
| 24/24 | Наявні тести |
| 0/16 | Конфігурація лінтера |
| 0/9.6 | Pre-commit-хуки |
| 0/6.4 | .editorconfig |
| 0/20 | OpenSSF Scorecard: CI-Tests — немає даних |
| has_ci | так |
| has_tests | так |
| has_editorconfig | ні |
| has_linter_config | ні |
| has_precommit_config | ні |
| 30/30 | README |
| 0/25 | Каталог документації |
| 15/15 | Сайт документації / домашня сторінка — https://cleantalk.org/antispam |
| 10/10 | Опис репозиторію |
| 10/10 | Теми — 15 тем |
| 10/10 | Wiki |
| topics | php, antispam, spam, php-api, spam-protection, spam-filter, form-protection, anti-spam, api, rest-api, spam-api, spam-detection, cleantalk, anti-spam-api, spam-detection-api |
| has_wiki | так |
| homepage | https://cleantalk.org/antispam |
| docs_site | https://cleantalk.org/antispam |
| has_readme | так |
| has_docs_dir | ні |
| has_description | так |
Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?
| 0/30 | Політика безпеки (SECURITY.md) |
| 0/25 | Конфігурація Dependabot |
| 0/25 | Файли фіксації залежностей — опублікована бібліотека — lockfile є справою застосунків, не очікується |
| 0/20 | Процес CodeQL |
| source | file_signals |
| lockfiles | — |
| manifests | composer.json |
| has_codeql_workflow | ні |
| has_security_policy | ні |
| has_dependabot_config | ні |
Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Має свідомо малу вагу (4%): агентний інструментарій — реальний сигнал супроводу, але репозиторій без нього все одно може отримати 100/100.
| 0/45 | Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора |
| 15/15 | Машиночитана документація (llms.txt) — llms.txt опубліковано на сайті проєкту (https://cleantalk.org/llms.txt) |
| 6.9/40 | Читабельна історія комітів — намір зазначено у 13 з 100 людських комітів (структурований заголовок або пояснювальний текст) |
| has_llms_txt | так |
| llms_txt_url | https://cleantalk.org/llms.txt |
| legible_history_share | 0,13 |
| agent_instruction_files | — |
| agent_instruction_max_bytes | — |
| 0/18 | Розгортання однією командою |
| 22/22 | Автоматизовані тести |
| 0/11 | Конфігурація лінтера / форматера |
| 0/11 | Статична перевірка типів |
| 0/10 | Відтворюване середовище |
| 0/10 | Підтверджена практика роботи з агентами — серед останніх 100 комітів немає створених агентом |
| 0/8 | Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено |
| 0/10 | OpenSSF Scorecard: Pinned-Dependencies — немає даних |
| has_nix | ні |
| has_tests | так |
| lockfiles | — |
| has_dockerfile | ні |
| typed_language | ні |
| bootstrap_files | — |
| has_devcontainer | ні |
| has_linter_config | ні |
| typecheck_configs | — |
| agent_commit_share | 0 |
| toolchain_manifests | — |
| dependency_bot_commit_share | 0 |
| 0/45 | Типізований код — PHP без конфігурації перевірки типів |
| 55/55 | Керовані розміри файлів — 0/10 файлів вихідного коду понад 60 КБ |
| primary_language | PHP |
| largest_source_bytes | 22 413 |
| source_files_sampled | 10 |
| oversized_source_files | 0 |
| 0/40 | Схема API (OpenAPI/GraphQL/proto) — не застосовно до цього типу програмного забезпечення |
| 0/20 | Сервер MCP — не застосовно до цього типу програмного забезпечення |
| 40/40 | Придатні до запуску приклади — examples |
| example_dirs | examples |
| has_mcp_signal | ні |
| api_schema_files | — |
| interfaces_expected_of | — |
Коли додано кожну зірку й форк — зібрано з GitHub і згруповано за днями. Кумулятивне зростання розміщено просто над денними додаваннями, з яких воно складається, тож їх видно одне проти одного: рівномірне органічне накопичення виглядає зовсім інакше, ніж різкий короткочасний сплеск. Там, де цю різницю можна виміряти, її подано як автентичність росту.
Кожна точка охоплює 12 днів.
Повний розв'язаний набір залежностей із графа залежностей GitHub: 0 прямих і 7 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.
| Реєстр | Пакет | Версія | Зв'язок |
|---|---|---|---|
| Packagist | ext-dom | — | непряма |
| Packagist | phpcompatibility/php-compatibility | — | непряма |
| Packagist | phpunit/phpunit | — | непряма |
| Packagist | squizlabs/php_codesniffer | — | непряма |
| Packagist | vimeo/psalm | — | непряма |
| Packagist | wp-cli/wp-cli-bundle | — | непряма |
| Packagist | yoast/phpunit-polyfills | — | непряма |
Звірка сповіщень не відбулася для цього звіту: No resolved dependencies carried a version and a supported ecosystem
Помітили щось хибне у цьому звіті або маєте чим поділитися? Неправильні вимірювання, непомічені інструменти, ідеї, запитання — усе доречно. Кожне повідомлення читається й отримує відповідь.
Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.
Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v2.10.0, схема v0.34.0 — повна методологія · вікі метрик.
Як окремий результат виглядає на тлі всього реєстру: сукупна статистика — Packagist.