https://github.com/aledan2809/4pro-identity
· scanned 2026-06-17 01:31 UTC (1 month, 2 weeks ago)
13 raw signals (0 security + 13 graph)
Last scanned 1 month, 2 weeks ago · v2 · last Δ +7.5 (diff) · 13 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 194 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 |
|---|---|---|---|
parseCookies |
software | healthy | tests/sso.cookie.test.mjs:parseCookies |
findSsoCookie |
software | healthy | tests/sso.cookie.test.mjs:findSsoCookie |
registerUser |
software | healthy | tests/sso.cookie.test.mjs:registerUser |
uniquePhone |
software | healthy | tests/sso-cookie.test.mjs:uniquePhone |
findSsoCookie |
software | healthy | tests/sso-cookie.test.mjs:findSsoCookie |
registerUser |
software | healthy | tests/sso-cookie.test.mjs:registerUser |
loadEnvVar |
software | healthy | scripts/migrate-users.js:loadEnvVar |
fetchECabinetUsers |
software | healthy | scripts/migrate-users.js:fetchECabinetUsers |
fetchPROUsers |
software | healthy | scripts/migrate-users.js:fetchPROUsers |
parts |
software | healthy | scripts/migrate-users.js:parts |
phoneExistsInIdentity |
software | healthy | scripts/migrate-users.js:phoneExistsInIdentity |
insertIdentityUser |
software | healthy | scripts/migrate-users.js:insertIdentityUser |
ensureGlobalIdColumn |
software | healthy | scripts/migrate-users.js:ensureGlobalIdColumn |
updateSourceGlobalId |
software | healthy | scripts/migrate-users.js:updateSourceGlobalId |
migrateUser |
software | healthy | scripts/migrate-users.js:migrateUser |
main |
software | healthy | scripts/migrate-users.js:main |
build |
software | healthy | src/server.js:build |
start |
software | healthy | src/server.js:start |
getClient |
software | healthy | src/lib/prisma.js:getClient |
signToken |
software | healthy | src/lib/token.js:signToken |
verifyToken |
software | healthy | src/lib/token.js:verifyToken |
isValidE164 |
software | healthy | src/lib/validation.js:isValidE164 |
sanitizePhone |
software | healthy | src/lib/validation.js:sanitizePhone |
routeAI |
software | healthy | src/lib/ai-router.js:routeAI |
hashPassword |
software | healthy | src/lib/password.js:hashPassword |
verifyPassword |
software | healthy | src/lib/password.js:verifyPassword |
getClient |
software | healthy | src/lib/twilio.js:getClient |
sendOTP |
software | healthy | src/lib/twilio.js:sendOTP |
verifyOTP |
software | healthy | src/lib/twilio.js:verifyOTP |
authenticate |
software | healthy | src/routes/identity.js:authenticate |
extractBearer |
software | healthy | src/routes/identity.js:extractBearer |
identityRoutes |
software | healthy | src/routes/identity.js:identityRoutes |
authenticate |
software | healthy | src/routes/user-documents.js:authenticate |
extractBearer |
software | healthy | src/routes/user-documents.js:extractBearer |
userDocumentRoutes |
software | healthy | src/routes/user-documents.js:userDocumentRoutes |
hashToken |
software | healthy | src/routes/magic-link.js:hashToken |
lookupProvider |
software | healthy | src/routes/magic-link.js:lookupProvider |
sendWhatsAppMagicLink |
software | healthy | src/routes/magic-link.js:sendWhatsAppMagicLink |
magicLinkRoutes |
software | healthy | src/routes/magic-link.js:magicLinkRoutes |
authenticate |
software | healthy | src/routes/legal.js:authenticate |
globalUserId |
software | healthy | src/routes/legal.js:globalUserId |
buildHmacSignature |
software | healthy | src/routes/legal.js:buildHmacSignature |
legalRoutes |
software | healthy | src/routes/legal.js:legalRoutes |
type |
software | healthy | src/routes/legal.js:type |
content |
software | healthy | src/routes/legal.js:content |
resolveControllerEntity |
software | healthy | src/routes/auth.js:resolveControllerEntity |
getCookieOptions |
software | healthy | src/routes/auth.js:getCookieOptions |
authRoutes |
software | healthy | src/routes/auth.js:authRoutes |
validate |
software | healthy | db/validate.js:validate |
run |
software | healthy | db/run-schema.js:run |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
.env.example |
software | healthy | .env.example |
vitest.config.js |
software | healthy | vitest.config.js |
prisma.config.ts |
software | healthy | prisma.config.ts |
CLAUDE.md |
software | healthy | CLAUDE.md |
DEVELOPMENT_STATUS.md |
software | healthy | DEVELOPMENT_STATUS.md |
AUDIT_GAPS.md |
software | healthy | AUDIT_GAPS.md |
package-lock.json |
software | healthy | package-lock.json |
package.json |
software | healthy | package.json |
ecosystem.config.cjs |
software | healthy | ecosystem.config.cjs |
deploy.sh |
software | healthy | deploy.sh |
TODO_PERSISTENT.md |
software | healthy | TODO_PERSISTENT.md |
password.test.mjs |
software | healthy | tests/password.test.mjs |
sso.cookie.test.mjs |
software | healthy | tests/sso.cookie.test.mjs |
validation.test.mjs |
software | healthy | tests/validation.test.mjs |
token.test.mjs |
software | healthy | tests/token.test.mjs |
routes.test.mjs |
software | healthy | tests/routes.test.mjs |
sso-cookie.test.mjs |
software | healthy | tests/sso-cookie.test.mjs |
legal-hub-integration.test.mjs |
software | healthy | tests/legal-hub-integration.test.mjs |
migrate-users.js |
software | healthy | scripts/migrate-users.js |
4pro-identity-api.json |
software | healthy | postman/4pro-identity-api.json |
server.js |
software | healthy | src/server.js |
prisma.js |
software | healthy | src/lib/prisma.js |
token.js |
software | healthy | src/lib/token.js |
validation.js |
software | healthy | src/lib/validation.js |
ai-router.js |
software | healthy | src/lib/ai-router.js |
password.js |
software | healthy | src/lib/password.js |
twilio.js |
software | healthy | src/lib/twilio.js |
identity.js |
software | healthy | src/routes/identity.js |
user-documents.js |
software | healthy | src/routes/user-documents.js |
magic-link.js |
software | healthy | src/routes/magic-link.js |
legal.js |
software | healthy | src/routes/legal.js |
auth.js |
software | healthy | src/routes/auth.js |
prisma.config.ts |
software | healthy | prisma/prisma.config.ts |
migration_lock.toml |
software | healthy | prisma/migrations/migration_lock.toml |
migration.sql |
software | healthy | prisma/migrations/20260421_init_identity/migration.sql |
migration.sql |
software | healthy | prisma/migrations/20260506_magic_links/migration.sql |
validate.js |
software | healthy | db/validate.js |
schema.sql |
software | healthy | db/schema.sql |
run-schema.js |
software | healthy | db/run-schema.js |
grant-permissions.js |
software | healthy | db/grant-permissions.js |
lessons-learned.md |
software | healthy | knowledge/lessons-learned.md |
AI-Skills-GAP-2026-04-10.md |
software | healthy | Reports/AI-Skills-GAP-2026-04-10.md |
AUDIT_E2E_2026-04-26.md |
software | healthy | Reports/AUDIT_E2E_2026-04-26.md |
AUDIT_E2E_2026-05-17.md |
software | healthy | Reports/AUDIT_E2E_2026-05-17.md |
CLAUDE.md |
quality | healthy | CLAUDE.md |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::tests/password.test.mjs |
security | healthy | tests/password.test.mjs |
password_literal::tests/sso.cookie.test.mjs |
security | healthy | tests/sso.cookie.test.mjs |
password_literal::tests/sso.cookie.test.mjs |
security | healthy | tests/sso.cookie.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
password_literal::tests/sso-cookie.test.mjs |
security | healthy | tests/sso-cookie.test.mjs |
password_literal::tests/sso-cookie.test.mjs |
security | healthy | tests/sso-cookie.test.mjs |
password_literal::tests/legal-hub-integration.test.mjs |
security | healthy | tests/legal-hub-integration.test.mjs |
password_literal::tests/legal-hub-integration.test.mjs |
security | healthy | tests/legal-hub-integration.test.mjs |
password_literal::tests/legal-hub-integration.test.mjs |
security | healthy | tests/legal-hub-integration.test.mjs |
password_literal::tests/legal-hub-integration.test.mjs |
security | healthy | tests/legal-hub-integration.test.mjs |
| Label | Layer | Status | Path |
|---|---|---|---|
GET /health |
api | healthy | src/server.js |
GET /exists |
api | healthy | src/routes/identity.js |
GET /:globalId |
api | healthy | src/routes/identity.js |
PUT /:globalId |
api | healthy | src/routes/identity.js |
POST /change-phone |
api | healthy | src/routes/identity.js |
GET / |
api | healthy | src/routes/user-documents.js |
POST / |
api | healthy | src/routes/user-documents.js |
POST /generate |
api | healthy | src/routes/magic-link.js |
GET /verify |
api | healthy | src/routes/magic-link.js |
GET /document |
api | healthy | src/routes/legal.js |
GET /consent/status |
api | healthy | src/routes/legal.js |
POST /consent/record |
api | healthy | src/routes/legal.js |
POST /dsr |
api | healthy | src/routes/legal.js |
POST /register |
api | healthy | src/routes/auth.js |
POST /login |
api | healthy | src/routes/auth.js |
POST /logout |
api | healthy | src/routes/auth.js |
POST /send-otp |
api | healthy | src/routes/auth.js |
POST /verify-otp |
api | healthy | src/routes/auth.js |
POST /set-password |
api | healthy | src/routes/auth.js |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
scripts |
software | healthy | scripts |
postman |
software | healthy | postman |
src |
software | healthy | src |
lib |
software | healthy | src/lib |
routes |
software | healthy | src/routes |
prisma |
software | healthy | prisma |
migrations |
software | healthy | prisma/migrations |
20260421_init_identity |
software | healthy | prisma/migrations/20260421_init_identity |
20260506_magic_links |
software | healthy | prisma/migrations/20260506_magic_links |
db |
software | healthy | db |
knowledge |
software | healthy | knowledge |
Reports |
software | healthy | Reports |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::tests/sso.cookie.test.mjs |
security | healthy | tests/sso.cookie.test.mjs |
auth::src/lib/token.js |
security | healthy | src/lib/token.js |
auth::tests/token.test.mjs |
security | healthy | tests/token.test.mjs |
auth::tests/legal-hub-integration.test.mjs |
security | healthy | tests/legal-hub-integration.test.mjs |
auth::deploy.sh |
security | healthy | deploy.sh |
auth::.env.example |
security | healthy | .env.example |
auth::CLAUDE.md |
security | healthy | CLAUDE.md |
auth::tests/sso-cookie.test.mjs |
security | healthy | tests/sso-cookie.test.mjs |
auth::src/routes/auth.js |
security | healthy | src/routes/auth.js |
auth::tests/routes.test.mjs |
security | healthy | tests/routes.test.mjs |
auth::src/routes/magic-link.js |
security | healthy | src/routes/magic-link.js |
| Label | Layer | Status | Path |
|---|---|---|---|
Identity |
data | healthy | prisma/migrations/20260421_init_identity/migration.sql |
UserDocument |
data | healthy | prisma/migrations/20260421_init_identity/migration.sql |
PhoneChangeLog |
data | healthy | prisma/migrations/20260421_init_identity/migration.sql |
MagicLink |
data | healthy | prisma/migrations/20260506_magic_links/migration.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
postgresql |
data | healthy | .env.example |
postgres |
data | healthy | package-lock.json |
| Label | Layer | Status | Path |
|---|---|---|---|
migration.sql |
data | healthy | prisma/migrations/20260421_init_identity/migration.sql |
migration.sql |
data | healthy | prisma/migrations/20260506_magic_links/migration.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
aledan2809__4pro-identity |
software | healthy | /data/fable5_failed_archive/aledan2809__4pro-identity |
| Label | Layer | Status | Path |
|---|---|---|---|
port:4100 |
network | healthy | deploy.sh |
| Label | Layer | Status | Path |
|---|---|---|---|
72.62.155.74 |
network | healthy | deploy.sh |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | package-lock.json |
| Label | Layer | Status | Path |
|---|---|---|---|
/ |
frontend | healthy | src/routes/auth.js |
This page is publicly accessible at:
https://repobility.com/scan/a8aab321-1760-4c32-a5ee-4176c09a4d7b/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/a8aab321-1760-4c32-a5ee-4176c09a4d7b/
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.