https://github.com/YoavRubin00/finpl
· scanned 2026-06-16 01:07 UTC (2 months, 1 week ago)
240 raw signals (0 security + 240 graph)
Last scanned 2 months, 1 week ago · v1 · 240 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 4544 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 |
|---|---|---|---|
firstName |
software | healthy | ops/legal-update-2026-06/send-emails.ts:firstName |
renderEmail |
software | healthy | ops/legal-update-2026-06/send-emails.ts:renderEmail |
fetchAllUsers |
software | healthy | ops/legal-update-2026-06/send-emails.ts:fetchAllUsers |
json |
software | healthy | ops/legal-update-2026-06/send-emails.ts:json |
sendViaResend |
software | healthy | ops/legal-update-2026-06/send-emails.ts:sendViaResend |
ensureLogHeader |
software | healthy | ops/legal-update-2026-06/send-emails.ts:ensureLogHeader |
appendLog |
software | healthy | ops/legal-update-2026-06/send-emails.ts:appendLog |
sleep |
software | healthy | ops/legal-update-2026-06/send-emails.ts:sleep |
main |
software | healthy | ops/legal-update-2026-06/send-emails.ts:main |
getDb |
software | healthy | api/users/ping.ts:getDb |
handler |
software | healthy | api/users/ping.ts:handler |
getDb |
software | healthy | api/bandit/event.ts:getDb |
sanitizeString |
software | healthy | api/bandit/event.ts:sanitizeString |
handler |
software | healthy | api/bandit/event.ts:handler |
body |
software | healthy | api/bandit/event.ts:body |
getDb |
software | healthy | api/bandit/state.ts:getDb |
handler |
software | healthy | api/bandit/state.ts:handler |
body |
software | healthy | api/sync/subscription.ts:body |
body |
software | healthy | api/sync/profile.ts:body |
body |
software | healthy | api/sync/economy.ts:body |
diffDays |
software | healthy | api/sync/streak.ts:diffDays |
body |
software | healthy | api/sync/streak.ts:body |
body |
software | healthy | api/sync/progress.ts:body |
body |
software | healthy | api/sync/user-stats.ts:body |
handler |
software | healthy | api/email/send-daily.ts:handler |
getDb |
software | healthy | api/email/track-click.ts:getDb |
handler |
software | healthy | api/email/track-click.ts:handler |
handler |
software | healthy | api/email/unsubscribe.ts:handler |
sanitizeTicker |
software | healthy | api/ai/stock-analyze-quick.ts:sanitizeTicker |
sanitizeHorizon |
software | healthy | api/ai/stock-analyze-quick.ts:sanitizeHorizon |
handler |
software | healthy | api/ai/stock-analyze-quick.ts:handler |
body |
software | healthy | api/ai/stock-analyze-quick.ts:body |
sanitizeString |
software | healthy | api/ai/insights.ts:sanitizeString |
handler |
software | healthy | api/ai/insights.ts:handler |
body |
software | healthy | api/ai/insights.ts:body |
data |
software | healthy | api/ai/insights.ts:data |
handler |
software | healthy | api/ai/quiz.ts:handler |
json |
software | healthy | api/ai/quiz.ts:json |
sanitizeString |
software | healthy | api/ai/chat.ts:sanitizeString |
handler |
software | healthy | api/ai/chat.ts:handler |
flushEvent |
software | healthy | api/ai/chat.ts:flushEvent |
sanitizeString |
software | healthy | api/ai/banner-tip.ts:sanitizeString |
handler |
software | healthy | api/ai/banner-tip.ts:handler |
body |
software | healthy | api/ai/banner-tip.ts:body |
data |
software | healthy | api/ai/banner-tip.ts:data |
message |
software | healthy | api/ai/banner-tip.ts:message |
sanitizeTicker |
software | healthy | api/ai/stock-analyze-deep.ts:sanitizeTicker |
sanitizeHorizon |
software | healthy | api/ai/stock-analyze-deep.ts:sanitizeHorizon |
handler |
software | healthy | api/ai/stock-analyze-deep.ts:handler |
body |
software | healthy | api/ai/stock-analyze-deep.ts:body |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
global.css |
software | healthy | global.css |
metro.config.js |
software | healthy | metro.config.js |
babel.config.js |
software | healthy | babel.config.js |
vercel.json |
software | healthy | vercel.json |
google-services.json |
software | healthy | google-services.json |
PRD-ACCESSIBILITY.md |
software | healthy | PRD-ACCESSIBILITY.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
tailwind.config.js |
software | healthy | tailwind.config.js |
eas.json |
software | healthy | eas.json |
package.json |
software | healthy | package.json |
NANO-BANANA-PROMPTS.md |
software | healthy | NANO-BANANA-PROMPTS.md |
types.d.ts |
software | healthy | types.d.ts |
package-lock.json |
software | healthy | package-lock.json |
FINPLAY_EXTERNAL_REVIEW_BRIEF.md |
software | healthy | FINPLAY_EXTERNAL_REVIEW_BRIEF.md |
app.json |
software | healthy | app.json |
.env.example |
software | healthy | .env.example |
tsconfig.json |
software | healthy | tsconfig.json |
drizzle.config.ts |
software | healthy | drizzle.config.ts |
PRD.md |
software | healthy | PRD.md |
generated_urls_shorts.json |
software | healthy | generated_urls_shorts.json |
lottie-dates.json |
software | healthy | lottie-dates.json |
nativewind-env.d.ts |
software | healthy | nativewind-env.d.ts |
email-template.html |
software | healthy | ops/legal-update-2026-06/email-template.html |
send-emails.ts |
software | healthy | ops/legal-update-2026-06/send-emails.ts |
ping.ts |
software | healthy | api/users/ping.ts |
event.ts |
software | healthy | api/bandit/event.ts |
state.ts |
software | healthy | api/bandit/state.ts |
subscription.ts |
software | healthy | api/sync/subscription.ts |
profile.ts |
software | healthy | api/sync/profile.ts |
economy.ts |
software | healthy | api/sync/economy.ts |
streak.ts |
software | healthy | api/sync/streak.ts |
progress.ts |
software | healthy | api/sync/progress.ts |
user-stats.ts |
software | healthy | api/sync/user-stats.ts |
send-daily.ts |
software | healthy | api/email/send-daily.ts |
track-click.ts |
software | healthy | api/email/track-click.ts |
unsubscribe.ts |
software | healthy | api/email/unsubscribe.ts |
stock-analyze-quick.ts |
software | healthy | api/ai/stock-analyze-quick.ts |
insights.ts |
software | healthy | api/ai/insights.ts |
quiz.ts |
software | healthy | api/ai/quiz.ts |
chat.ts |
software | healthy | api/ai/chat.ts |
payslip-analyze.ts |
software | healthy | api/ai/payslip-analyze.ts |
banner-tip.ts |
software | healthy | api/ai/banner-tip.ts |
stock-analyze-deep.ts |
software | healthy | api/ai/stock-analyze-deep.ts |
refresh.ts |
software | healthy | api/auth/refresh.ts |
link.ts |
software | healthy | api/auth/link.ts |
verify.ts |
software | healthy | api/auth/verify.ts |
track.ts |
software | healthy | api/breaking-news/track.ts |
generate.ts |
software | healthy | api/breaking-news/generate.ts |
list.ts |
software | healthy | api/breaking-news/list.ts |
cron.ts |
software | healthy | api/breaking-news/cron.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
ops |
software | healthy | ops |
legal-update-2026-06 |
software | healthy | ops/legal-update-2026-06 |
api |
software | healthy | api |
users |
software | healthy | api/users |
bandit |
software | healthy | api/bandit |
sync |
software | healthy | api/sync |
email |
software | healthy | api/email |
ai |
software | healthy | api/ai |
auth |
software | healthy | api/auth |
breaking-news |
software | healthy | api/breaking-news |
voice |
software | healthy | api/voice |
crowd-question |
software | healthy | api/crowd-question |
daily-news-challenge |
software | healthy | api/daily-news-challenge |
migrate |
software | healthy | api/migrate |
support |
software | healthy | api/support |
bridge |
software | healthy | api/bridge |
trading |
software | healthy | api/trading |
webhooks |
software | healthy | api/webhooks |
_shared |
software | healthy | api/_shared |
docs |
software | healthy | docs |
superpowers |
software | healthy | docs/superpowers |
plans |
software | healthy | docs/superpowers/plans |
specs |
software | healthy | docs/superpowers/specs |
scripts |
software | healthy | scripts |
assets |
software | healthy | assets |
mindmaps |
software | healthy | assets/mindmaps |
lottie |
software | healthy | assets/lottie |
sea |
software | healthy | assets/lottie/sea |
app |
software | healthy | app |
trading-hub |
software | healthy | app/trading-hub |
interstitial |
software | healthy | app/interstitial |
invite |
software | healthy | app/invite |
duels |
software | healthy | app/duels |
api |
software | healthy | app/api |
ai-mentor |
software | healthy | app/api/ai-mentor |
legal |
software | healthy | app/api/legal |
bandit |
software | healthy | app/api/bandit |
sync |
software | healthy | app/api/sync |
email |
software | healthy | app/api/email |
ai |
software | healthy | app/api/ai |
_prompts |
software | healthy | app/api/ai/_prompts |
auth |
software | healthy | app/api/auth |
referral |
software | healthy | app/api/referral |
breaking-news |
software | healthy | app/api/breaking-news |
voice |
software | healthy | app/api/voice |
admin |
software | healthy | app/api/admin |
crowd-question |
software | healthy | app/api/crowd-question |
daily-news-challenge |
software | healthy | app/api/daily-news-challenge |
economy |
software | healthy | app/api/economy |
market |
software | healthy | app/api/market |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
MarketScreen |
frontend | healthy | app/assets-market.tsx |
SettingsScreen |
frontend | healthy | app/settings.tsx |
TaxRefundCalculator |
frontend | healthy | app/tax-refund-calculator.tsx |
CompoundCalculatorRoute |
frontend | healthy | app/compound-calculator.tsx |
GrahamPersonalityScreen |
frontend | healthy | app/graham-personality.tsx |
ComingSoonRoute |
frontend | healthy | app/coming-soon.tsx |
BreakingNewsScreen |
frontend | healthy | app/breaking-news.tsx |
AIInsightsPage |
frontend | healthy | app/ai-insights.tsx |
AccessibilityStatementScreen |
frontend | healthy | app/accessibility-statement.tsx |
NetWorthDashboardScreen |
frontend | healthy | app/net-worth-dashboard.tsx |
RegisterScreen |
frontend | healthy | app/register.tsx |
AssetsScreen |
frontend | healthy | app/assets.tsx |
NotFound |
frontend | healthy | app/+not-found.tsx |
MortgageCalculator |
frontend | healthy | app/mortgage-calculator.tsx |
TowerDefenseBossPage |
frontend | healthy | app/tower-defense-boss.tsx |
OAuthRedirect |
frontend | healthy | app/oauthredirect.tsx |
StockAnalystRoute |
frontend | healthy | app/stock-analyst.tsx |
ScenarioLabPage |
frontend | healthy | app/scenario-lab.tsx |
Index |
frontend | healthy | app/index.tsx |
PricingScreen |
frontend | healthy | app/pricing.tsx |
PensionFeesComparator |
frontend | healthy | app/pension-fees-comparator.tsx |
FireCalculatorRoute |
frontend | healthy | app/fire-calculator.tsx |
ProWelcomeScreen |
frontend | healthy | app/pro-welcome.tsx |
PayslipAnalyzerRoute |
frontend | healthy | app/payslip-analyzer.tsx |
DailyChallengePage |
frontend | healthy | app/daily-challenge.tsx |
SalaryNetCalculator |
frontend | healthy | app/salary-net-calculator.tsx |
PizzaIndexPage |
frontend | healthy | app/pizza-index.tsx |
SuggestScenarioScreen |
frontend | healthy | app/suggest-scenario.tsx |
LegalScreen |
frontend | healthy | app/legal.tsx |
FinancialProfileScreen |
frontend | healthy | app/financial-profile.tsx |
SavedItemsScreen |
frontend | healthy | app/saved-items.tsx |
RootLayout |
frontend | healthy | app/_layout.tsx |
SupportChatScreen |
frontend | healthy | app/support.tsx |
HoldingsScreen |
frontend | healthy | app/trading-hub/holdings.tsx |
TradingHubScreen |
frontend | healthy | app/trading-hub/index.tsx |
BullshitCh0InterstitialPage |
frontend | healthy | app/interstitial/bullshit-ch0.tsx |
InviteRedemptionScreen |
frontend | healthy | app/invite/[code].tsx |
DuelsPage |
frontend | healthy | app/duels/index.tsx |
DuelBattlePage |
frontend | healthy | app/duels/battle.tsx |
TopicChatScreen |
frontend | healthy | app/topic-chat/[moduleId].tsx |
ReferralPage |
frontend | healthy | app/referral/index.tsx |
SimulatorScreen |
frontend | healthy | app/simulator/index.tsx |
LessonFlowScreen |
frontend | healthy | app/lesson/[id].tsx |
ClashResultScreen |
frontend | healthy | app/clash/result.tsx |
ClashGameScreen |
frontend | healthy | app/clash/index.tsx |
ChapterIntroScreen |
frontend | healthy | app/chapter/[chapterId].tsx |
QuestDailyDilemmaPage |
frontend | healthy | app/quest/daily-dilemma.tsx |
QuestDailyGamePage |
frontend | healthy | app/quest/swipe-game.tsx |
LoginScreen |
frontend | healthy | app/(auth)/sign-in.tsx |
RegisterScreen |
frontend | healthy | app/(auth)/register.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
auth::.env.example |
security | healthy | .env.example |
auth::src/features/auth/useGoogleAuth.ts |
security | healthy | src/features/auth/useGoogleAuth.ts |
auth::src/lib/auth/lifecycle.ts |
security | healthy | src/lib/auth/lifecycle.ts |
auth::app/_layout.tsx |
security | healthy | app/_layout.tsx |
auth::src/features/auth/useAuthStore.ts |
security | healthy | src/features/auth/useAuthStore.ts |
auth::api/_shared/jwt.ts |
security | healthy | api/_shared/jwt.ts |
auth::src/features/auth/LoginScreen.tsx |
security | healthy | src/features/auth/LoginScreen.tsx |
auth::app/api/webhooks/revenuecat+api.ts |
security | healthy | app/api/webhooks/revenuecat+api.ts |
auth::app/api/auth/verify+api.ts |
security | healthy | app/api/auth/verify+api.ts |
auth::src/features/auth/useGoogleAuthStore.ts |
security | healthy | src/features/auth/useGoogleAuthStore.ts |
auth::src/lib/api/auth.ts |
security | healthy | src/lib/api/auth.ts |
auth::src/features/legal/TermsReconsentGate.tsx |
security | healthy | src/features/legal/TermsReconsentGate.tsx |
auth::src/features/onboarding/SignupGateStep.tsx |
security | healthy | src/features/onboarding/SignupGateStep.tsx |
auth::app/api/sync/profile+api.ts |
security | healthy | app/api/sync/profile+api.ts |
auth::src/features/onboarding/ProfilingFlow.tsx |
security | healthy | src/features/onboarding/ProfilingFlow.tsx |
auth::scripts/test-jwt.ts |
security | healthy | scripts/test-jwt.ts |
auth::src/features/auth/RegisterScreen.tsx |
security | healthy | src/features/auth/RegisterScreen.tsx |
auth::src/lib/api/client.ts |
security | healthy | src/lib/api/client.ts |
auth::api/auth/verify.ts |
security | healthy | api/auth/verify.ts |
auth::api/auth/refresh.ts |
security | healthy | api/auth/refresh.ts |
auth::api/_shared/withAuth.ts |
security | healthy | api/_shared/withAuth.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | scripts/db-diagram.mjs |
10.1.188.207 |
network | healthy | src/db/apiBase.ts |
2.2.5.9 |
network | healthy | src/features/trading-hub/StockIcon.tsx |
5.3.7.9 |
network | healthy | src/features/trading-hub/StockIcon.tsx |
3.12.82.83 |
network | healthy | src/features/pearls/stages/cards/FeedWhatsAppNudgeCard.tsx |
2.57.12.17 |
network | healthy | src/features/pearls/stages/cards/FeedWhatsAppNudgeCard.tsx |
3.74.59.26 |
network | healthy | src/features/pearls/stages/cards/FeedWhatsAppNudgeCard.tsx |
1.41.52.59 |
network | healthy | src/features/pearls/stages/cards/FeedWhatsAppNudgeCard.tsx |
1.56.1.48 |
network | healthy | src/features/pearls/stages/cards/FeedWhatsAppNudgeCard.tsx |
3.074.149.198 |
network | healthy | src/features/more/MoreScreen.tsx |
4.487.709.306 |
network | healthy | src/features/more/MoreScreen.tsx |
1.694.625.712 |
network | healthy | src/features/more/MoreScreen.tsx |
1.871.118.571 |
network | healthy | src/features/more/MoreScreen.tsx |
3.741.982.998 |
network | healthy | src/features/more/MoreScreen.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
support_messages |
data | healthy | src/db/0002_support_messages.sql |
bandit_variants |
data | healthy | src/db/0001_bandit_variants.sql |
user_profiles |
data | healthy | src/db/0000_confused_wallow.sql |
module_progress |
data | healthy | src/db/0000_confused_wallow.sql |
inventory |
data | healthy | src/db/0000_confused_wallow.sql |
ai_mentor_usage |
data | healthy | src/db/0000_confused_wallow.sql |
paper_portfolio |
data | healthy | src/db/0000_confused_wallow.sql |
paper_trades |
data | healthy | src/db/0000_confused_wallow.sql |
user_stats |
data | healthy | src/db/migrations/0002_add_user_stats.sql |
parental_consents |
data | healthy | src/db/migrations/0005_add_parental_consents.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
of |
software | healthy | api/sync/profile.ts:of |
MockStorage |
software | healthy | scripts/test-legacy-local-state.ts:MockStorage |
GlobalErrorBoundary |
software | healthy | src/components/ui/ErrorBoundary.tsx:GlobalErrorBoundary |
ApiError |
software | healthy | src/lib/api/client.ts:ApiError |
as |
software | healthy | src/features/breaking-news/BreakingNewsScreen.tsx:as |
inactivityFee |
software | healthy | src/features/chapter-4-content/simulations/brokerCompareDat… |
of |
software | healthy | src/features/payslip-analyzer/lib/uploadFile.ts:of |
drifted |
software | healthy | src/features/chapter-3-content/simulations/useRoboAdvisor.t… |
| Label | Layer | Status | Path |
|---|---|---|---|
0002_add_user_stats.sql |
data | healthy | src/db/migrations/0002_add_user_stats.sql |
0001_add_preferences.sql |
data | healthy | src/db/migrations/0001_add_preferences.sql |
0004_identity_rekey_constraints.sql |
data | healthy | src/db/migrations/0004_identity_rekey_constraints.sql |
0005_add_parental_consents.sql |
data | healthy | src/db/migrations/0005_add_parental_consents.sql |
0003_identity_additive.sql |
data | healthy | src/db/migrations/0003_identity_additive.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
postgresql |
data | healthy | .env.example |
postgres |
data | healthy | app/api/bandit/event+api.ts |
redis |
data | healthy | app/api/_shared/rateLimit.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::azure |
hardware | healthy | src/features/trading-hub/tradingHubData.ts |
vps::aws |
hardware | healthy | src/features/trading-hub/tradingHubData.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-4thhiesg |
software | healthy | /tmp/repobility-clone-4thhiesg |
| Label | Layer | Status | Path |
|---|---|---|---|
port:4985 |
network | healthy | scripts/db-diagram.mjs |
| Label | Layer | Status | Path |
|---|---|---|---|
nginx |
network | healthy | src/features/payslip-analyzer/lib/uploadFile.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | app/api/_shared/tavily.ts |
This page is publicly accessible at:
https://repobility.com/scan/67504f26-e285-4350-b32a-82ca57771e34/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/67504f26-e285-4350-b32a-82ca57771e34/
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.