https://github.com/Why-Gee/YgLicenseServer
· scanned 2026-06-16 00:57 UTC (2 months, 1 week ago)
140 raw signals (0 security + 140 graph)
Last scanned 2 months, 1 week ago · v1 · 121 actionable findings from 1 signal source. 19 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 1007 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
_login |
software | healthy | tests/test_ui_issuance_ux.py:20 |
_csrf |
software | healthy | tests/test_ui_issuance_ux.py:26 |
_create_product |
software | healthy | tests/test_ui_issuance_ux.py:32 |
_issue_via_ui |
software | healthy | tests/test_ui_issuance_ux.py:41 |
_captured_resend |
software | healthy | tests/test_ui_issuance_ux.py:66 |
_handler |
software | healthy | tests/test_ui_issuance_ux.py:69 |
test_parent_banner_with_plaintext_key_is_gone |
software | healthy | tests/test_ui_issuance_ux.py:88 |
test_modal_key_field_carries_plaintext_after_issuance |
software | healthy | tests/test_ui_issuance_ux.py:113 |
test_no_issued_key_when_query_absent |
software | healthy | tests/test_ui_issuance_ux.py:137 |
test_ui_issue_dispatches_resend_email |
software | healthy | tests/test_ui_issuance_ux.py:160 |
_make_record |
software | healthy | tests/test_log_format.py:17 |
test_json_formatter_required_fields |
software | healthy | tests/test_log_format.py:24 |
test_json_formatter_defaults_request_id_to_dash |
software | healthy | tests/test_log_format.py:38 |
test_json_formatter_includes_exception |
software | healthy | tests/test_log_format.py:49 |
test_configure_logging_json_mode |
software | healthy | tests/test_log_format.py:64 |
test_configure_logging_text_mode_default |
software | healthy | tests/test_log_format.py:73 |
_login |
software | healthy | tests/test_mfa.py:10 |
_csrf |
software | healthy | tests/test_mfa.py:16 |
_post |
software | healthy | tests/test_mfa.py:22 |
test_mfa_settings_page_renders_when_logged_in |
software | healthy | tests/test_mfa.py:31 |
test_mfa_enrol_returns_provisioning_uri |
software | healthy | tests/test_mfa.py:38 |
test_mfa_verify_enrol_with_valid_code_enables_and_returns_r… |
software | healthy | tests/test_mfa.py:62 |
test_mfa_verify_enrol_with_wrong_code_rejected |
software | healthy | tests/test_mfa.py:81 |
test_mfa_disable_with_valid_otp |
software | healthy | tests/test_mfa.py:96 |
test_mfa_disable_with_recovery_code |
software | healthy | tests/test_mfa.py:111 |
test_mfa_disable_with_wrong_code_rejected |
software | healthy | tests/test_mfa.py:122 |
test_recovery_code_disable_wipes_all_state |
software | healthy | tests/test_mfa.py:134 |
test_mfa_regen_recovery_returns_fresh_codes |
software | healthy | tests/test_mfa.py:157 |
test_mfa_regen_recovery_rejects_wrong_otp |
software | healthy | tests/test_mfa.py:181 |
test_login_without_mfa_works_as_before |
software | healthy | tests/test_mfa.py:202 |
test_login_with_mfa_enabled_redirects_to_mfa_step |
software | healthy | tests/test_mfa.py:209 |
test_login_mfa_step_completes_with_valid_otp |
software | healthy | tests/test_mfa.py:226 |
test_login_mfa_step_rejects_bad_code |
software | healthy | tests/test_mfa.py:246 |
test_pre_mfa_cookie_alone_cannot_access_admin |
software | healthy | tests/test_mfa.py:263 |
test_logout_deletes_pre_mfa_cookie |
software | healthy | tests/test_mfa.py:281 |
_create_product |
software | healthy | tests/test_phase2_authn.py:7 |
_issue |
software | healthy | tests/test_phase2_authn.py:16 |
test_client_ip_hash_ignores_xff |
software | healthy | tests/test_phase2_authn.py:31 |
test_rate_limit_client_ip_ignores_xff |
software | healthy | tests/test_phase2_authn.py:52 |
test_jwt_carries_kid_claim |
software | healthy | tests/test_phase2_authn.py:67 |
_reload_config_and_keystore |
software | healthy | tests/test_phase2_authn.py:93 |
test_require_kek_unset_keeps_legacy_plaintext_passthrough |
software | healthy | tests/test_phase2_authn.py:103 |
test_require_kek_set_refuses_to_persist_plaintext |
software | healthy | tests/test_phase2_authn.py:113 |
test_require_kek_set_with_valid_key_works_normally |
software | healthy | tests/test_phase2_authn.py:126 |
test_boot_validator_exits_when_kek_required_and_unset |
software | healthy | tests/test_phase2_authn.py:139 |
_build_client |
software | healthy | tests/conftest.py:19 |
make_client |
software | healthy | tests/conftest.py:125 |
_factory |
software | healthy | tests/conftest.py:133 |
client |
software | healthy | tests/conftest.py:140 |
_login |
software | healthy | tests/test_backups.py:26 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
Dockerfile |
software | healthy | Dockerfile |
.env.example |
software | healthy | .env.example |
pyproject.toml |
software | healthy | pyproject.toml |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
docker-entrypoint.sh |
software | healthy | docker-entrypoint.sh |
.env.prod.example |
software | healthy | .env.prod.example |
test_ui_issuance_ux.py |
software | healthy | tests/test_ui_issuance_ux.py |
test_log_format.py |
software | healthy | tests/test_log_format.py |
test_mfa.py |
software | healthy | tests/test_mfa.py |
test_phase2_authn.py |
software | healthy | tests/test_phase2_authn.py |
__init__.py |
software | healthy | tests/__init__.py |
conftest.py |
software | healthy | tests/conftest.py |
test_backups.py |
software | healthy | tests/test_backups.py |
test_rewrap_secrets.py |
software | healthy | tests/test_rewrap_secrets.py |
test_wo_tracker_findings.py |
software | healthy | tests/test_wo_tracker_findings.py |
test_health.py |
software | healthy | tests/test_health.py |
test_email.py |
software | healthy | tests/test_email.py |
test_phase4_hashing.py |
software | healthy | tests/test_phase4_hashing.py |
test_webhooks.py |
software | healthy | tests/test_webhooks.py |
test_expiry_warnings.py |
software | healthy | tests/test_expiry_warnings.py |
test_phase1_security.py |
software | healthy | tests/test_phase1_security.py |
test_phase3_deploy.py |
software | healthy | tests/test_phase3_deploy.py |
test_migrations.py |
software | healthy | tests/test_migrations.py |
test_prune_events.py |
software | healthy | tests/test_prune_events.py |
test_keystore.py |
software | healthy | tests/test_keystore.py |
test_rate_limit.py |
software | healthy | tests/test_rate_limit.py |
test_product_edit.py |
software | healthy | tests/test_product_edit.py |
test_admin_api_webhook.py |
software | healthy | tests/test_admin_api_webhook.py |
test_pagination.py |
software | healthy | tests/test_pagination.py |
test_perf.py |
software | healthy | tests/test_perf.py |
test_webhook_deliveries_ui.py |
software | healthy | tests/test_webhook_deliveries_ui.py |
test_webhook_retry.py |
software | healthy | tests/test_webhook_retry.py |
test_customer_name.py |
software | healthy | tests/test_customer_name.py |
test_exports.py |
software | healthy | tests/test_exports.py |
test_feature_presets.py |
software | healthy | tests/test_feature_presets.py |
test_request_id.py |
software | healthy | tests/test_request_id.py |
test_ui_v07.py |
software | healthy | tests/test_ui_v07.py |
test_security.py |
software | healthy | tests/test_security.py |
test_check.py |
software | healthy | tests/test_check.py |
v1.0-asm-client-handoff.md |
software | healthy | docs/v1.0-asm-client-handoff.md |
webhooks-receiver-handoff.md |
software | healthy | docs/webhooks-receiver-handoff.md |
v1.0-workouttracker-client-findings.md |
software | healthy | docs/v1.0-workouttracker-client-findings.md |
v1.0-client-compat.md |
software | healthy | docs/v1.0-client-compat.md |
2026-05-22-phase2-authn-crypto.md |
software | healthy | docs/superpowers/plans/2026-05-22-phase2-authn-crypto.md |
2026-05-20-product-edit.md |
software | healthy | docs/superpowers/plans/2026-05-20-product-edit.md |
2026-05-22-phase3-network-deploy.md |
software | healthy | docs/superpowers/plans/2026-05-22-phase3-network-deploy.md |
2026-05-22-phase1-critical-vulns.md |
software | healthy | docs/superpowers/plans/2026-05-22-phase1-critical-vulns.md |
2026-05-22-phase4-key-hashing.md |
software | healthy | docs/superpowers/plans/2026-05-22-phase4-key-hashing.md |
2026-05-22-security-hardening-design.md |
software | healthy | docs/superpowers/specs/2026-05-22-security-hardening-design… |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
POST /v1/products/{slug}/stripe-webhook |
api | healthy | app/stripe_webhook.py |
GET /healthz |
api | healthy | app/main.py |
GET /readyz |
api | healthy | app/main.py |
GET /health |
api | healthy | app/main.py |
GET /customers.csv |
api | healthy | app/routers/exports.py |
GET /products/{slug}/licenses.csv |
api | healthy | app/routers/exports.py |
GET /products/{slug}/events.csv |
api | healthy | app/routers/exports.py |
POST /v1/check |
api | healthy | app/routers/api.py |
GET /v1/products/{slug}/pubkey |
api | healthy | app/routers/api.py |
POST /v1/admin/products |
api | healthy | app/routers/api.py |
GET /v1/admin/products |
api | healthy | app/routers/api.py |
GET /v1/admin/products/{slug} |
api | healthy | app/routers/api.py |
POST /v1/admin/products/{slug}/licenses |
api | healthy | app/routers/api.py |
GET /v1/admin/products/{slug}/licenses |
api | healthy | app/routers/api.py |
POST /v1/admin/licenses/{lid}/revoke |
api | healthy | app/routers/api.py |
GET /v1/admin/customers |
api | healthy | app/routers/api.py |
GET /admin/webhook-deliveries |
api | healthy | app/routers/admin_ui/webhook_deliveries.py |
POST /admin/webhook-deliveries/{delivery_id}/retry |
api | healthy | app/routers/admin_ui/webhook_deliveries.py |
GET /admin/products |
api | healthy | app/routers/admin_ui/products.py |
POST /admin/products |
api | healthy | app/routers/admin_ui/products.py |
POST /admin/products/{slug}/edit |
api | healthy | app/routers/admin_ui/products.py |
POST /admin/products/{slug}/delete |
api | healthy | app/routers/admin_ui/products.py |
POST /admin/products/delete |
api | healthy | app/routers/admin_ui/products.py |
GET /admin/products/{slug} |
api | healthy | app/routers/admin_ui/products.py |
GET /admin/products/{slug}/pubkey.pem |
api | healthy | app/routers/admin_ui/products.py |
GET /admin |
api | healthy | app/routers/admin_ui/dashboard.py |
GET / |
api | healthy | app/routers/admin_ui/auth.py |
GET /admin/login |
api | healthy | app/routers/admin_ui/auth.py |
POST /admin/login |
api | healthy | app/routers/admin_ui/auth.py |
GET /admin/login/mfa |
api | healthy | app/routers/admin_ui/auth.py |
POST /admin/login/mfa |
api | healthy | app/routers/admin_ui/auth.py |
POST /admin/logout |
api | healthy | app/routers/admin_ui/auth.py |
GET /admin/backups |
api | healthy | app/routers/admin_ui/backups.py |
POST /admin/backups/create |
api | healthy | app/routers/admin_ui/backups.py |
GET /admin/backups/download/{name} |
api | healthy | app/routers/admin_ui/backups.py |
POST /admin/backups/{name}/restore |
api | healthy | app/routers/admin_ui/backups.py |
POST /admin/backups/restore-upload |
api | healthy | app/routers/admin_ui/backups.py |
POST /admin/backups/{name}/delete |
api | healthy | app/routers/admin_ui/backups.py |
POST /admin/backups/delete |
api | healthy | app/routers/admin_ui/backups.py |
GET /admin/customers |
api | healthy | app/routers/admin_ui/customers.py |
GET /admin/customers/lookup |
api | healthy | app/routers/admin_ui/customers.py |
POST /admin/customers/{cid}/edit |
api | healthy | app/routers/admin_ui/customers.py |
GET /admin/events |
api | healthy | app/routers/admin_ui/events.py |
GET /admin/events.csv |
api | healthy | app/routers/admin_ui/events.py |
GET /admin/mfa |
api | healthy | app/routers/admin_ui/mfa.py |
POST /admin/mfa/enroll |
api | healthy | app/routers/admin_ui/mfa.py |
POST /admin/mfa/verify-enroll |
api | healthy | app/routers/admin_ui/mfa.py |
POST /admin/mfa/disable |
api | healthy | app/routers/admin_ui/mfa.py |
POST /admin/mfa/regen-recovery |
api | healthy | app/routers/admin_ui/mfa.py |
POST /admin/products/{slug}/licenses |
api | healthy | app/routers/admin_ui/licenses.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
_FakeRequest |
software | healthy | tests/test_phase2_authn.py:56 |
client |
software | healthy | tests/test_phase2_authn.py:57 |
_FakeS3 |
software | healthy | tests/test_backups.py:345 |
Settings |
software | healthy | app/config.py:11 |
RequestIdMiddleware |
software | healthy | app/request_id.py:44 |
RequestIdLogFilter |
software | healthy | app/request_id.py:97 |
JsonFormatter |
software | healthy | app/log_format.py:24 |
Page |
software | healthy | app/pagination.py:88 |
Base |
software | healthy | app/models.py:49 |
Product |
software | healthy | app/models.py:53 |
Customer |
software | healthy | app/models.py:92 |
License |
software | healthy | app/models.py:110 |
FeaturePreset |
software | healthy | app/models.py:180 |
Install |
software | healthy | app/models.py:223 |
Event |
software | healthy | app/models.py:236 |
WebhookDelivery |
software | healthy | app/models.py:287 |
ProcessedStripeEvent |
software | healthy | app/models.py:334 |
AdminMfa |
software | healthy | app/models.py:352 |
_Unset |
software | healthy | app/services/products.py:21 |
ProductDeletion |
software | healthy | app/services/products.py:33 |
BackupResult |
software | healthy | app/services/backups.py:28 |
EnrolStart |
software | healthy | app/services/mfa.py:32 |
IssueResult |
software | healthy | app/services/licenses.py:43 |
EditResult |
software | healthy | app/services/licenses.py:242 |
WebhookTestResult |
software | healthy | app/services/licenses.py:400 |
_DeletedLicenseSnapshot |
software | healthy | app/services/licenses.py:429 |
CheckRejected |
software | healthy | app/services/check.py:20 |
CheckResult |
software | healthy | app/services/check.py:31 |
ServiceError |
software | healthy | app/services/errors.py:13 |
NotFound |
software | healthy | app/services/errors.py:20 |
Conflict |
software | healthy | app/services/errors.py:27 |
ValidationFailed |
software | healthy | app/services/errors.py:34 |
Unsafe |
software | healthy | app/services/errors.py:42 |
CheckIn |
software | healthy | app/routers/api.py:47 |
CheckOut |
software | healthy | app/routers/api.py:57 |
CreateProductIn |
software | healthy | app/routers/api.py:133 |
CreateProductOut |
software | healthy | app/routers/api.py:143 |
IssueIn |
software | healthy | app/routers/api.py:212 |
IssueOut |
software | healthy | app/routers/api.py:224 |
LoginRequired |
software | healthy | app/routers/admin_ui/_deps.py:38 |
_WebhookConfigIn |
software | healthy | app/routers/admin_ui/licenses.py:169 |
_WebhookConfigOut |
software | healthy | app/routers/admin_ui/licenses.py:178 |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
docs |
software | healthy | docs |
superpowers |
software | healthy | docs/superpowers |
plans |
software | healthy | docs/superpowers/plans |
specs |
software | healthy | docs/superpowers/specs |
deploy |
software | healthy | docs/deploy |
plans |
software | healthy | docs/plans |
scripts |
software | healthy | scripts |
deploy |
software | healthy | deploy |
gcp |
software | healthy | deploy/gcp |
app |
software | healthy | app |
static |
software | healthy | app/static |
scripts |
software | healthy | app/scripts |
templates |
software | healthy | app/templates |
services |
software | healthy | app/services |
routers |
software | healthy | app/routers |
admin_ui |
software | healthy | app/routers/admin_ui |
alembic |
software | healthy | alembic |
versions |
software | healthy | alembic/versions |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::README.md |
security | healthy | README.md |
auth::tests/test_phase2_authn.py |
security | healthy | tests/test_phase2_authn.py |
auth::app/config.py |
security | healthy | app/config.py |
auth::tests/test_phase1_security.py |
security | healthy | tests/test_phase1_security.py |
auth::app/signing.py |
security | healthy | app/signing.py |
auth::app/services/presets.py |
security | healthy | app/services/presets.py |
auth::tests/test_webhooks.py |
security | healthy | tests/test_webhooks.py |
auth::tests/test_product_edit.py |
security | healthy | tests/test_product_edit.py |
auth::deploy/gcp/install.sh |
security | healthy | deploy/gcp/install.sh |
auth::scripts/smoke_v1_0_3.py |
security | healthy | scripts/smoke_v1_0_3.py |
auth::tests/test_wo_tracker_findings.py |
security | healthy | tests/test_wo_tracker_findings.py |
auth::app/services/check.py |
security | healthy | app/services/check.py |
auth::app/routers/api.py |
security | healthy | app/routers/api.py |
auth::app/models.py |
security | healthy | app/models.py |
auth::tests/test_check.py |
security | healthy | tests/test_check.py |
auth::tests/test_phase4_hashing.py |
security | healthy | tests/test_phase4_hashing.py |
auth::tests/test_backups.py |
security | healthy | tests/test_backups.py |
auth::tests/test_feature_presets.py |
security | healthy | tests/test_feature_presets.py |
auth::app/templates/_product_modal.html |
security | healthy | app/templates/_product_modal.html |
auth::app/webhooks.py |
security | healthy | app/webhooks.py |
auth::app/templates/product_detail.html |
security | healthy | app/templates/product_detail.html |
| Label | Layer | Status | Path |
|---|---|---|---|
Base |
data | healthy | app/models.py |
Product |
data | healthy | app/models.py |
Customer |
data | healthy | app/models.py |
License |
data | healthy | app/models.py |
FeaturePreset |
data | healthy | app/models.py |
Install |
data | healthy | app/models.py |
Event |
data | healthy | app/models.py |
WebhookDelivery |
data | healthy | app/models.py |
ProcessedStripeEvent |
data | healthy | app/models.py |
AdminMfa |
data | healthy | app/models.py |
products |
data | healthy | app/models.py |
customers |
data | healthy | app/models.py |
licenses |
data | healthy | app/models.py |
feature_presets |
data | healthy | app/models.py |
installs |
data | healthy | app/models.py |
events |
data | healthy | app/models.py |
webhook_deliveries |
data | healthy | app/models.py |
processed_stripe_events |
data | healthy | app/models.py |
admin_mfa |
data | healthy | app/models.py |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | tests/test_phase2_authn.py |
10.20.30.40 |
network | healthy | tests/test_phase2_authn.py |
93.184.216.34 |
network | healthy | tests/test_webhooks.py |
203.0.113.0 |
network | healthy | tests/test_phase1_security.py |
169.254.169.254 |
network | healthy | tests/test_phase1_security.py |
10.0.0.1 |
network | healthy | tests/test_security.py |
192.168.1.1 |
network | healthy | tests/test_security.py |
172.16.0.1 |
network | healthy | tests/test_security.py |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | README.md |
postgres |
data | healthy | README.md |
postgresql |
data | healthy | README.md |
redis |
data | healthy | app/rate_limit.py |
| Label | Layer | Status | Path |
|---|---|---|---|
lint-and-test |
cicd | healthy | .github/workflows/test.yml |
docker |
cicd | healthy | .github/workflows/test.yml |
build-and-push |
cicd | healthy | .github/workflows/release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8800 |
network | healthy | README.md |
port:10001 |
network | healthy | deploy/gcp/install.sh |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::gcp |
hardware | healthy | README.md |
vps::aws |
hardware | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::test |
cicd | healthy | .github/workflows/test.yml |
gha::release |
cicd | healthy | .github/workflows/release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-yoqvt6ov |
software | healthy | /tmp/repobility-clone-yoqvt6ov |
| Label | Layer | Status | Path |
|---|---|---|---|
test_migrations.py |
data | healthy | tests/test_migrations.py |
| Label | Layer | Status | Path |
|---|---|---|---|
caddy |
network | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/531b497a-356b-475f-9ac4-bf50b6db0a38/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/531b497a-356b-475f-9ac4-bf50b6db0a38/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.