https://github.com/satoshi-otonami/otonami
· scanned 2026-06-16 00:03 UTC (2 months, 3 weeks ago)
92 raw signals (0 security + 92 graph)
Last scanned 2 months, 3 weeks ago · v1 · 92 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 992 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 |
|---|---|---|---|
FontLoader |
software | healthy | docs/otonami-redesign.jsx:FontLoader |
Avatar |
software | healthy | docs/otonami-redesign.jsx:Avatar |
Tag |
software | healthy | docs/otonami-redesign.jsx:Tag |
Btn |
software | healthy | docs/otonami-redesign.jsx:Btn |
Section |
software | healthy | docs/otonami-redesign.jsx:Section |
Header |
software | healthy | docs/otonami-redesign.jsx:Header |
Landing |
software | healthy | docs/otonami-redesign.jsx:Landing |
CuratorCard |
software | healthy | docs/otonami-redesign.jsx:CuratorCard |
CuratorModal |
software | healthy | docs/otonami-redesign.jsx:CuratorModal |
Catalog |
software | healthy | docs/otonami-redesign.jsx:Catalog |
SubmitTrack |
software | healthy | docs/otonami-redesign.jsx:SubmitTrack |
OtonamiRedesign |
software | healthy | docs/otonami-redesign.jsx:OtonamiRedesign |
main |
software | healthy | scripts/generate-og.mjs:main |
run |
software | healthy | scripts/take-screenshots.js:run |
p |
software | healthy | scripts/take-screenshots.js:p |
sleep |
software | healthy | scripts/take-screenshots.js:sleep |
findButtonByText |
software | healthy | scripts/take-screenshots.js:findButtonByText |
measure |
software | healthy | scripts/epk-brutalist-measure.js:measure |
num |
software | healthy | scripts/epk-brutalist-measure.js:num |
q |
software | healthy | scripts/epk-brutalist-measure.js:q |
APP_URL |
software | healthy | scripts/recovery/resend-notifications.js:APP_URL |
escapeHtml |
software | healthy | scripts/recovery/resend-notifications.js:escapeHtml |
buildHtml |
software | healthy | scripts/recovery/resend-notifications.js:buildHtml |
buildText |
software | healthy | scripts/recovery/resend-notifications.js:buildText |
AnimatedSection |
software | healthy | components/AnimatedSection.jsx:AnimatedSection |
easeOutCubic |
software | healthy | components/OTONAMIPromo.jsx:easeOutCubic |
easeOutBack |
software | healthy | components/OTONAMIPromo.jsx:easeOutBack |
easeInOutQuart |
software | healthy | components/OTONAMIPromo.jsx:easeInOutQuart |
useA |
software | healthy | components/OTONAMIPromo.jsx:useA |
Icon |
software | healthy | components/OTONAMIPromo.jsx:Icon |
Particles |
software | healthy | components/OTONAMIPromo.jsx:Particles |
Orb |
software | healthy | components/OTONAMIPromo.jsx:Orb |
SLabel |
software | healthy | components/OTONAMIPromo.jsx:SLabel |
STitle |
software | healthy | components/OTONAMIPromo.jsx:STitle |
Scene1 |
software | healthy | components/OTONAMIPromo.jsx:Scene1 |
Scene2 |
software | healthy | components/OTONAMIPromo.jsx:Scene2 |
Scene3 |
software | healthy | components/OTONAMIPromo.jsx:Scene3 |
Scene4 |
software | healthy | components/OTONAMIPromo.jsx:Scene4 |
Scene5 |
software | healthy | components/OTONAMIPromo.jsx:Scene5 |
Scene6 |
software | healthy | components/OTONAMIPromo.jsx:Scene6 |
Scene7 |
software | healthy | components/OTONAMIPromo.jsx:Scene7 |
PBar |
software | healthy | components/OTONAMIPromo.jsx:PBar |
LandingPage |
software | healthy | components/OTONAMIPromo.jsx:LandingPage |
OTONAMIPromo |
software | healthy | components/OTONAMIPromo.jsx:OTONAMIPromo |
tick |
software | healthy | components/OTONAMIPromo.jsx:tick |
play |
software | healthy | components/OTONAMIPromo.jsx:play |
handleApiError |
software | healthy | components/OtonamiApp.jsx:handleApiError |
isPreLaunch |
software | healthy | components/OtonamiApp.jsx:isPreLaunch |
PreLaunchBanner |
software | healthy | components/OtonamiApp.jsx:PreLaunchBanner |
mood1 |
software | healthy | components/OtonamiApp.jsx:mood1 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
vercel.json |
software | healthy | vercel.json |
jsconfig.json |
software | healthy | jsconfig.json |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
package.json |
software | healthy | package.json |
next.config.js |
software | healthy | next.config.js |
route14band-epk-v2-citypop.html |
software | healthy | route14band-epk-v2-citypop.html |
otonami-epk-handoff-20260528-phase2b-complete.md |
software | healthy | otonami-epk-handoff-20260528-phase2b-complete.md |
package-lock.json |
software | healthy | package-lock.json |
DEPLOY_GUIDE.md |
software | healthy | DEPLOY_GUIDE.md |
route14band-epk-v3-brutalist.html |
software | healthy | route14band-epk-v3-brutalist.html |
artist-schema.sql |
software | healthy | docs/artist-schema.sql |
otonami-redesign.jsx |
software | healthy | docs/otonami-redesign.jsx |
generate-og.mjs |
software | healthy | scripts/generate-og.mjs |
take-screenshots.js |
software | healthy | scripts/take-screenshots.js |
epk-brutalist-measure.js |
software | healthy | scripts/epk-brutalist-measure.js |
generate-og-image.js |
software | healthy | scripts/generate-og-image.js |
resend-notifications.js |
software | healthy | scripts/recovery/resend-notifications.js |
AnimatedSection.jsx |
software | healthy | components/AnimatedSection.jsx |
OTONAMIPromo.jsx |
software | healthy | components/OTONAMIPromo.jsx |
OtonamiApp.jsx |
software | healthy | components/OtonamiApp.jsx |
LegalPageLayout.jsx |
software | healthy | components/LegalPageLayout.jsx |
ErrorBoundary.jsx |
software | healthy | components/ErrorBoundary.jsx |
editorialDarkCss.js |
software | healthy | components/epk/themes/editorialDarkCss.js |
EditorialDark.jsx |
software | healthy | components/epk/themes/EditorialDark.jsx |
brutalistCss.js |
software | healthy | components/epk/themes/brutalistCss.js |
sunsetSections.jsx |
software | healthy | components/epk/themes/sunsetSections.jsx |
sunsetCitypopCss.js |
software | healthy | components/epk/themes/sunsetCitypopCss.js |
Brutalist.jsx |
software | healthy | components/epk/themes/Brutalist.jsx |
SunsetCitypop.jsx |
software | healthy | components/epk/themes/SunsetCitypop.jsx |
brutalistSections.jsx |
software | healthy | components/epk/themes/brutalistSections.jsx |
SoundMoodSection.jsx |
software | healthy | components/epk/sections/SoundMoodSection.jsx |
OtonamiBadgeSection.jsx |
software | healthy | components/epk/sections/OtonamiBadgeSection.jsx |
BioSection.jsx |
software | healthy | components/epk/sections/BioSection.jsx |
TourSection.jsx |
software | healthy | components/epk/sections/TourSection.jsx |
FeaturedPlaylistSection.jsx |
software | healthy | components/epk/sections/FeaturedPlaylistSection.jsx |
PressSection.jsx |
software | healthy | components/epk/sections/PressSection.jsx |
FeaturedTrackSection.jsx |
software | healthy | components/epk/sections/FeaturedTrackSection.jsx |
HeroSection.jsx |
software | healthy | components/epk/sections/HeroSection.jsx |
FansOfSection.jsx |
software | healthy | components/epk/sections/FansOfSection.jsx |
ConnectSection.jsx |
software | healthy | components/epk/sections/ConnectSection.jsx |
SoundMoodTab.jsx |
software | healthy | components/epk/editor/SoundMoodTab.jsx |
FansOfTab.jsx |
software | healthy | components/epk/editor/FansOfTab.jsx |
editorStyles.js |
software | healthy | components/epk/editor/editorStyles.js |
CrudTab.jsx |
software | healthy | components/epk/editor/CrudTab.jsx |
PlaylistTab.jsx |
software | healthy | components/epk/editor/PlaylistTab.jsx |
page.js |
software | healthy | app/page.js |
globals.css |
software | healthy | app/globals.css |
layout.js |
software | healthy | app/layout.js |
page.js |
software | healthy | app/verify-error/page.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 |
recovery |
software | healthy | scripts/recovery |
components |
software | healthy | components |
epk |
software | healthy | components/epk |
themes |
software | healthy | components/epk/themes |
sections |
software | healthy | components/epk/sections |
editor |
software | healthy | components/epk/editor |
app |
software | healthy | app |
verify-error |
software | healthy | app/verify-error |
submit |
software | healthy | app/submit |
[curatorId] |
software | healthy | app/submit/[curatorId] |
epk |
software | healthy | app/epk |
[slug] |
software | healthy | app/epk/[slug] |
api |
software | healthy | app/api |
lyric-video |
software | healthy | app/api/lyric-video |
upload |
software | healthy | app/api/lyric-video/upload |
transcribe |
software | healthy | app/api/lyric-video/transcribe |
generate-background |
software | healthy | app/api/lyric-video/generate-background |
email |
software | healthy | app/api/email |
verify-otp |
software | healthy | app/api/verify-otp |
epk |
software | healthy | app/api/epk |
publish |
software | healthy | app/api/epk/publish |
translate |
software | healthy | app/api/epk/translate |
playlist |
software | healthy | app/api/epk/playlist |
save |
software | healthy | app/api/epk/save |
press |
software | healthy | app/api/epk/press |
[id] |
software | healthy | app/api/epk/press/[id] |
tour |
software | healthy | app/api/epk/tour |
[id] |
software | healthy | app/api/epk/tour/[id] |
[slug] |
software | healthy | app/api/epk/[slug] |
health |
software | healthy | app/api/health |
translate |
software | healthy | app/api/translate |
pitch |
software | healthy | app/api/pitch |
translate |
software | healthy | app/api/pitch/translate |
curators |
software | healthy | app/api/curators |
login |
software | healthy | app/api/curators/login |
list |
software | healthy | app/api/curators/list |
[id] |
software | healthy | app/api/curators/[id] |
set-password |
software | healthy | app/api/curators/set-password |
public |
software | healthy | app/api/curators/public |
curator |
software | healthy | app/api/curator |
earnings |
software | healthy | app/api/curator/earnings |
dashboard |
software | healthy | app/api/curator/dashboard |
pitch |
software | healthy | app/api/curator/pitch |
[id] |
software | healthy | app/api/curator/pitch/[id] |
payout |
software | healthy | app/api/curator/payout |
social |
software | healthy | app/api/social |
pitches |
software | healthy | app/api/pitches |
cron |
software | healthy | app/api/cron |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
OtonamiRedesign |
frontend | healthy | docs/otonami-redesign.jsx |
AnimatedSection |
frontend | healthy | components/AnimatedSection.jsx |
LandingPage |
frontend | healthy | components/OTONAMIPromo.jsx |
OTONAMIPromo |
frontend | healthy | components/OTONAMIPromo.jsx |
App |
frontend | healthy | components/OtonamiApp.jsx |
LegalPageLayout |
frontend | healthy | components/LegalPageLayout.jsx |
EditorialDarkTheme |
frontend | healthy | components/epk/themes/EditorialDark.jsx |
BrutalistTheme |
frontend | healthy | components/epk/themes/Brutalist.jsx |
SunsetCitypopTheme |
frontend | healthy | components/epk/themes/SunsetCitypop.jsx |
SoundMoodSection |
frontend | healthy | components/epk/sections/SoundMoodSection.jsx |
OtonamiBadgeSection |
frontend | healthy | components/epk/sections/OtonamiBadgeSection.jsx |
BioSection |
frontend | healthy | components/epk/sections/BioSection.jsx |
TourSection |
frontend | healthy | components/epk/sections/TourSection.jsx |
FeaturedPlaylistSection |
frontend | healthy | components/epk/sections/FeaturedPlaylistSection.jsx |
PressSection |
frontend | healthy | components/epk/sections/PressSection.jsx |
FeaturedTrackSection |
frontend | healthy | components/epk/sections/FeaturedTrackSection.jsx |
HeroSection |
frontend | healthy | components/epk/sections/HeroSection.jsx |
FansOfSection |
frontend | healthy | components/epk/sections/FansOfSection.jsx |
ConnectSection |
frontend | healthy | components/epk/sections/ConnectSection.jsx |
SoundMoodTab |
frontend | healthy | components/epk/editor/SoundMoodTab.jsx |
FansOfTab |
frontend | healthy | components/epk/editor/FansOfTab.jsx |
CrudTab |
frontend | healthy | components/epk/editor/CrudTab.jsx |
PlaylistTab |
frontend | healthy | components/epk/editor/PlaylistTab.jsx |
| Label | Layer | Status | Path |
|---|---|---|---|
artists |
data | healthy | docs/artist-schema.sql |
artist_tracks |
data | healthy | docs/artist-schema.sql |
login_otps |
data | healthy | supabase/migration_email_verification_otp.sql |
users |
data | healthy | supabase/schema.sql |
curators |
data | healthy | supabase/schema.sql |
pitches |
data | healthy | supabase/schema.sql |
credit_transactions |
data | healthy | supabase/schema.sql |
email_log |
data | healthy | supabase/schema.sql |
curator_earnings |
data | healthy | supabase/migration_curator_earnings.sql |
payouts |
data | healthy | supabase/migration_curator_earnings.sql |
artist_epks |
data | healthy | supabase/migrations/20260527_create_epk_tables.sql |
epk_press |
data | healthy | supabase/migrations/20260527_create_epk_tables.sql |
epk_tour |
data | healthy | supabase/migrations/20260527_create_epk_tables.sql |
lyric_videos |
data | healthy | supabase/migrations/add_lyric_videos.sql |
promo_assets |
data | healthy | supabase/migrations/add_promo_assets.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
migration_credits_earned.sql |
data | healthy | supabase/migration_credits_earned.sql |
migration_email_verification_otp.sql |
data | healthy | supabase/migration_email_verification_otp.sql |
migration_curator_earnings.sql |
data | healthy | supabase/migration_curator_earnings.sql |
20260527_create_epk_tables.sql |
data | healthy | supabase/migrations/20260527_create_epk_tables.sql |
add_lyric_videos.sql |
data | healthy | supabase/migrations/add_lyric_videos.sql |
add_promo_assets.sql |
data | healthy | supabase/migrations/add_promo_assets.sql |
20260520_drop_pitches_session_id_fkey.sql |
data | healthy | supabase/migrations/20260520_drop_pitches_session_id_fkey.s… |
20260527_epk_phase2a_playlist.sql |
data | healthy | supabase/migrations/20260527_epk_phase2a_playlist.sql |
20260502_founding_artist.sql |
data | healthy | supabase/migrations/20260502_founding_artist.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::app/api/artists/route.js |
security | healthy | app/api/artists/route.js |
auth::app/api/verify-otp/route.js |
security | healthy | app/api/verify-otp/route.js |
auth::app/artist/page.js |
security | healthy | app/artist/page.js |
auth::app/api/artists/transactions/route.js |
security | healthy | app/api/artists/transactions/route.js |
auth::CLAUDE.md |
security | healthy | CLAUDE.md |
auth::lib/auth.js |
security | healthy | lib/auth.js |
auth::app/api/stripe/route.js |
security | healthy | app/api/stripe/route.js |
auth::app/api/curator/route.js |
security | healthy | app/api/curator/route.js |
| Label | Layer | Status | Path |
|---|---|---|---|
1.32.42.18 |
network | healthy | components/OTONAMIPromo.jsx |
361.181.54.78 |
network | healthy | components/OTONAMIPromo.jsx |
3.29.87.78 |
network | healthy | components/OTONAMIPromo.jsx |
120.0.0.0 |
network | healthy | app/api/social/route.js |
1.621.539.3 |
network | healthy | app/artist/dashboard/page.js |
2.695.272.273 |
network | healthy | app/artist/dashboard/page.js |
| Label | Layer | Status | Path |
|---|---|---|---|
components |
software | healthy | components/ErrorBoundary.jsx:components |
ErrorBoundary |
software | healthy | components/ErrorBoundary.jsx:ErrorBoundary |
ApiError |
software | healthy | lib/api-client.js:ApiError |
| Label | Layer | Status | Path |
|---|---|---|---|
postgresql |
data | healthy | CLAUDE.md |
redis |
data | healthy | package.json |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-f4x_uj_o |
software | healthy | /tmp/repobility-clone-f4x_uj_o |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::app/curator/page.js |
security | healthy | app/curator/page.js |
This page is publicly accessible at:
https://repobility.com/scan/e73c41c7-b648-4eda-8c85-38ed8cfe10d1/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/e73c41c7-b648-4eda-8c85-38ed8cfe10d1/
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.