https://github.com/qiaeru/couplecards
· scanned 2026-06-15 23:42 UTC (2 months, 4 weeks ago)
61 raw signals (0 security + 61 graph)
Last scanned 2 months, 4 weeks ago · v1 · 59 actionable findings from 1 signal source. 2 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 532 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 |
|---|---|---|---|
for |
software | healthy | scripts/vendor-entry-zxcvbn.js:for |
required |
software | healthy | server/src/config.js:required |
bool |
software | healthy | server/src/config.js:bool |
int |
software | healthy | server/src/config.js:int |
sessionKey |
software | healthy | server/src/config.js:sessionKey |
readPackageVersion |
software | healthy | server/src/config.js:readPackageVersion |
buildApp |
software | healthy | server/src/index.js:buildApp |
start |
software | healthy | server/src/index.js:start |
shutdown |
software | healthy | server/src/index.js:shutdown |
hashPassword |
software | healthy | server/src/lib/password.js:hashPassword |
verifyPassword |
software | healthy | server/src/lib/password.js:verifyPassword |
validatePassword |
software | healthy | server/src/lib/password.js:validatePassword |
generateInitialPassword |
software | healthy | server/src/lib/password.js:generateInitialPassword |
readSeedDecks |
software | healthy | server/src/lib/deckSync.js:readSeedDecks |
validateDeckPayload |
software | healthy | server/src/lib/deckSync.js:validateDeckPayload |
readDbDeck |
software | healthy | server/src/lib/deckSync.js:readDbDeck |
diffDecks |
software | healthy | server/src/lib/deckSync.js:diffDecks |
applyDeckSync |
software | healthy | server/src/lib/deckSync.js:applyDeckSync |
summariseDiff |
software | healthy | server/src/lib/deckSync.js:summariseDiff |
serialiseForExport |
software | healthy | server/src/lib/deckSync.js:serialiseForExport |
mergeLocaleIntoMap |
software | healthy | server/src/lib/deckSync.js:mergeLocaleIntoMap |
finaliseDeck |
software | healthy | server/src/lib/deckSync.js:finaliseDeck |
ensureStructural |
software | healthy | server/src/lib/deckSync.js:ensureStructural |
readTranslation |
software | healthy | server/src/lib/deckSync.js:readTranslation |
sameTranslations |
software | healthy | server/src/lib/deckSync.js:sameTranslations |
deckError |
software | healthy | server/src/lib/deckSync.js:deckError |
isSupportedLocale |
software | healthy | server/src/lib/locales.js:isSupportedLocale |
readSessionUser |
software | healthy | server/src/lib/auth.js:readSessionUser |
writeSessionUser |
software | healthy | server/src/lib/auth.js:writeSessionUser |
clearSession |
software | healthy | server/src/lib/auth.js:clearSession |
requireSession |
software | healthy | server/src/lib/auth.js:requireSession |
requireAdmin |
software | healthy | server/src/lib/auth.js:requireAdmin |
requireUser |
software | healthy | server/src/lib/auth.js:requireUser |
enforcePasswordChange |
software | healthy | server/src/lib/auth.js:enforcePasswordChange |
syncRoutes |
software | healthy | server/src/routes/sync.js:syncRoutes |
authRoutes |
software | healthy | server/src/routes/auth.js:authRoutes |
pickLocale |
software | healthy | server/src/routes/manifest.js:pickLocale |
manifestRoutes |
software | healthy | server/src/routes/manifest.js:manifestRoutes |
healthRoutes |
software | healthy | server/src/routes/health.js:healthRoutes |
selectCards |
software | healthy | server/src/routes/cards.js:selectCards |
invalidateDeckVersion |
software | healthy | server/src/routes/cards.js:invalidateDeckVersion |
deckVersion |
software | healthy | server/src/routes/cards.js:deckVersion |
cardRoutes |
software | healthy | server/src/routes/cards.js:cardRoutes |
hasAnyTranslation |
software | healthy | server/src/routes/cards.js:hasAnyTranslation |
writeTranslations |
software | healthy | server/src/routes/cards.js:writeTranslations |
selectCard |
software | healthy | server/src/routes/cards.js:selectCard |
normalizeUsername |
software | healthy | server/src/routes/users.js:normalizeUsername |
selectUser |
software | healthy | server/src/routes/users.js:selectUser |
userRoutes |
software | healthy | server/src/routes/users.js:userRoutes |
handleDeckError |
software | healthy | server/src/routes/admin-cards.js:handleDeckError |
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 |
package.json |
software | healthy | package.json |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
Dockerfile |
software | healthy | Dockerfile |
package-lock.json |
software | healthy | package-lock.json |
CREDITS.md |
software | healthy | CREDITS.md |
.env.example |
software | healthy | .env.example |
LICENSE |
software | healthy | LICENSE |
CODE_OF_CONDUCT.md |
software | healthy | CODE_OF_CONDUCT.md |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
docker-compose.yml |
software | healthy | docker-compose.yml |
architecture.md |
software | healthy | docs/architecture.md |
security.md |
software | healthy | docs/security.md |
deployment.md |
software | healthy | docs/deployment.md |
configuration.md |
software | healthy | docs/configuration.md |
i18n.md |
software | healthy | docs/i18n.md |
administration.md |
software | healthy | docs/administration.md |
accessibility.md |
software | healthy | docs/accessibility.md |
build-vendor.mjs |
software | healthy | scripts/build-vendor.mjs |
vendor-entry-fflate.js |
software | healthy | scripts/vendor-entry-fflate.js |
vendor-entry-zxcvbn.js |
software | healthy | scripts/vendor-entry-zxcvbn.js |
README.md |
software | healthy | deploy/caddy/README.md |
docker-compose.caddy.yml |
software | healthy | deploy/caddy/docker-compose.caddy.yml |
README.md |
software | healthy | deploy/traefik/README.md |
docker-compose.traefik.yml |
software | healthy | deploy/traefik/docker-compose.traefik.yml |
README.md |
software | healthy | deploy/nginx/README.md |
docker-compose.nginx.yml |
software | healthy | deploy/nginx/docker-compose.nginx.yml |
package.json |
software | healthy | server/package.json |
package-lock.json |
software | healthy | server/package-lock.json |
003_card_emoji.sql |
software | healthy | server/migrations/003_card_emoji.sql |
002_locales_de_it_es.sql |
software | healthy | server/migrations/002_locales_de_it_es.sql |
001_init.sql |
software | healthy | server/migrations/001_init.sql |
config.js |
software | healthy | server/src/config.js |
index.js |
software | healthy | server/src/index.js |
password.js |
software | healthy | server/src/lib/password.js |
deckSync.js |
software | healthy | server/src/lib/deckSync.js |
locales.js |
software | healthy | server/src/lib/locales.js |
auth.js |
software | healthy | server/src/lib/auth.js |
sync.js |
software | healthy | server/src/routes/sync.js |
auth.js |
software | healthy | server/src/routes/auth.js |
manifest.js |
software | healthy | server/src/routes/manifest.js |
health.js |
software | healthy | server/src/routes/health.js |
cards.js |
software | healthy | server/src/routes/cards.js |
users.js |
software | healthy | server/src/routes/users.js |
admin-cards.js |
software | healthy | server/src/routes/admin-cards.js |
migrate.js |
software | healthy | server/src/db/migrate.js |
seed.js |
software | healthy | server/src/db/seed.js |
index.js |
software | healthy | server/src/db/index.js |
static.js |
software | healthy | server/src/plugins/static.js |
session.js |
software | healthy | server/src/plugins/session.js |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
docs |
software | healthy | docs |
scripts |
software | healthy | scripts |
deploy |
software | healthy | deploy |
caddy |
software | healthy | deploy/caddy |
traefik |
software | healthy | deploy/traefik |
nginx |
software | healthy | deploy/nginx |
server |
software | healthy | server |
migrations |
software | healthy | server/migrations |
src |
software | healthy | server/src |
lib |
software | healthy | server/src/lib |
routes |
software | healthy | server/src/routes |
db |
software | healthy | server/src/db |
plugins |
software | healthy | server/src/plugins |
public |
software | healthy | public |
js |
software | healthy | public/js |
ui |
software | healthy | public/js/ui |
core |
software | healthy | public/js/core |
features |
software | healthy | public/js/features |
settings |
software | healthy | public/js/features/settings |
collection |
software | healthy | public/js/features/collection |
rules |
software | healthy | public/js/features/rules |
home |
software | healthy | public/js/features/home |
admin |
software | healthy | public/js/features/admin |
deck |
software | healthy | public/js/features/deck |
history |
software | healthy | public/js/features/history |
locales |
software | healthy | public/locales |
css |
software | healthy | public/css |
views |
software | healthy | public/views |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
GET /state |
api | healthy | server/src/routes/sync.js |
POST /bans |
api | healthy | server/src/routes/sync.js |
DELETE /bans/:cardId |
api | healthy | server/src/routes/sync.js |
POST /state/reset |
api | healthy | server/src/routes/sync.js |
POST /history |
api | healthy | server/src/routes/sync.js |
GET /auth/csrf |
api | healthy | server/src/routes/auth.js |
GET /auth/password-policy |
api | healthy | server/src/routes/auth.js |
POST /auth/login |
api | healthy | server/src/routes/auth.js |
POST /auth/logout |
api | healthy | server/src/routes/auth.js |
GET /auth/me |
api | healthy | server/src/routes/auth.js |
POST /auth/change-password |
api | healthy | server/src/routes/auth.js |
POST /auth/preferences |
api | healthy | server/src/routes/auth.js |
GET /manifest.webmanifest |
api | healthy | server/src/routes/manifest.js |
GET /health |
api | healthy | server/src/routes/health.js |
GET /cards |
api | healthy | server/src/routes/cards.js |
POST /cards |
api | healthy | server/src/routes/cards.js |
PATCH /cards/:id |
api | healthy | server/src/routes/cards.js |
DELETE /cards |
api | healthy | server/src/routes/cards.js |
DELETE /cards/:id |
api | healthy | server/src/routes/cards.js |
GET /users |
api | healthy | server/src/routes/users.js |
POST /users |
api | healthy | server/src/routes/users.js |
PATCH /users/:id |
api | healthy | server/src/routes/users.js |
DELETE /users/:id |
api | healthy | server/src/routes/users.js |
POST /users/:id/reset-password |
api | healthy | server/src/routes/users.js |
POST /users/:id/unlock |
api | healthy | server/src/routes/users.js |
GET /cards/export |
api | healthy | server/src/routes/admin-cards.js |
POST /cards/sync |
api | healthy | server/src/routes/admin-cards.js |
POST /cards/import |
api | healthy | server/src/routes/admin-cards.js |
| Label | Layer | Status | Path |
|---|---|---|---|
users_new |
data | healthy | server/migrations/002_locales_de_it_es.sql |
card_translations_new |
data | healthy | server/migrations/002_locales_de_it_es.sql |
users |
data | healthy | server/migrations/001_init.sql |
cards |
data | healthy | server/migrations/001_init.sql |
card_translations |
data | healthy | server/migrations/001_init.sql |
bans |
data | healthy | server/migrations/001_init.sql |
history |
data | healthy | server/migrations/001_init.sql |
settings |
data | healthy | server/migrations/001_init.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
caddy |
network | healthy | README.md |
traefik |
network | healthy | README.md |
nginx |
network | healthy | README.md |
loadbalancer |
network | healthy | deploy/traefik/docker-compose.traefik.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
003_card_emoji.sql |
data | healthy | server/migrations/003_card_emoji.sql |
002_locales_de_it_es.sql |
data | healthy | server/migrations/002_locales_de_it_es.sql |
001_init.sql |
data | healthy | server/migrations/001_init.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
port:3000 |
network | healthy | Dockerfile |
port:80 |
network | healthy | deploy/caddy/docker-compose.caddy.yml |
port:443 |
network | healthy | deploy/caddy/docker-compose.caddy.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
ApiError |
software | healthy | public/js/core/api.js:ApiError |
means |
software | healthy | public/js/features/deck/draw.js:means |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
couplecards |
hardware | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::release |
cicd | healthy | .github/workflows/release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
build |
cicd | healthy | .github/workflows/ci.yml |
publish |
cicd | healthy | .github/workflows/release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-iwxuwalx |
software | healthy | /tmp/repobility-clone-iwxuwalx |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | server/src/lib/password.js |
| Label | Layer | Status | Path |
|---|---|---|---|
/ |
frontend | healthy | server/src/plugins/session.js |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::server/src/db/seed.js |
security | healthy | server/src/db/seed.js |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/a0d0eabd-7d04-418c-add5-ff21d5be24c2/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/a0d0eabd-7d04-418c-add5-ff21d5be24c2/
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.