Scan timing: clone 1.49s · analysis 1.92s · 1.5 MB · GitHub API rate-limit (preflight)
https://github.com/mateiszakwork-cloud/hiro.git
· scanned 2026-05-25 15:37 UTC (1 week, 3 days ago)
· 10 languages
193 findings (39 legacy + 154 scanner) 20th percentile · Typescript · small (2-20K LoC) Scanner says 77 (lower by 20)
Last scanned 1 week, 3 days ago · v2 · 116 findings from 2 sources. Findings combine the legacy security pipeline AND the multi-layer engine (atlas, wiring, flows, ranked) AND verified AI agent contributions.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
100.0 | 0.15 | 15.00 |
security_score |
62.2 | 0.25 | 15.55 |
testing_score |
30.0 | 0.20 | 6.00 |
documentation_score |
38.7 | 0.15 | 5.81 |
practices_score |
44.0 | 0.15 | 6.60 |
code_quality |
77.4 | 0.10 | 7.74 |
| Overall | 1.00 | 56.7 |
All 618 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 |
|---|---|---|---|
json |
software | healthy | supabase/functions/draft-tracker-message/index.ts:json |
experiences |
software | healthy | supabase/functions/draft-tracker-message/index.ts:experienc… |
schools |
software | healthy | supabase/functions/draft-tracker-message/index.ts:schools |
jobRequirements |
software | healthy | supabase/functions/draft-tracker-message/index.ts:jobRequir… |
json |
software | healthy | supabase/functions/test-linkedin-connection/index.ts:json |
jsessionid |
software | healthy | supabase/functions/test-linkedin-connection/index.ts:jsessi… |
json200 |
software | healthy | supabase/functions/parse-cv/index.ts:json200 |
fail |
software | healthy | supabase/functions/parse-cv/index.ts:fail |
json |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts:json |
sleep |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts:sleep |
deriveDomain |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts:derive… |
pick |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts:pick |
normalizeProfileUrl |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts:normal… |
getCompanyIdByDomain |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts:getCom… |
getCompanyIdBySearch |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts:getCom… |
searchEmployees |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts:search… |
mapProfile |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts:mapPro… |
deduplicate |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts:dedupl… |
fetchExtraProfile |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts:fetchE… |
categorizeAndScore |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts:catego… |
t |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts:t |
runWithDelay |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts:runWit… |
json |
software | healthy | supabase/functions/generate-interview-prep/index.ts:json |
q |
software | healthy | supabase/functions/generate-interview-prep/index.ts:q |
normalize |
software | healthy | supabase/functions/generate-interview-prep/index.ts:normali… |
App |
software | healthy | src/App.tsx:App |
DashboardLayout |
software | healthy | src/components/DashboardLayout.tsx:DashboardLayout |
check |
software | healthy | src/components/DashboardLayout.tsx:check |
handleLogout |
software | healthy | src/components/DashboardLayout.tsx:handleLogout |
sidebarContent |
software | healthy | src/components/DashboardLayout.tsx:sidebarContent |
getStatusStyle |
software | healthy | src/components/OutreachTab.tsx:getStatusStyle |
getDegreeBadge |
software | healthy | src/components/OutreachTab.tsx:getDegreeBadge |
initials |
software | healthy | src/components/OutreachTab.tsx:initials |
Avatar |
software | healthy | src/components/OutreachTab.tsx:Avatar |
StatusPill |
software | healthy | src/components/OutreachTab.tsx:StatusPill |
MessageCell |
software | healthy | src/components/OutreachTab.tsx:MessageCell |
generate |
software | healthy | src/components/OutreachTab.tsx:generate |
handleSaveText |
software | healthy | src/components/OutreachTab.tsx:handleSaveText |
handleSaveSubject |
software | healthy | src/components/OutreachTab.tsx:handleSaveSubject |
handleCopy |
software | healthy | src/components/OutreachTab.tsx:handleCopy |
deriveManagerTitle |
software | healthy | src/components/OutreachTab.tsx:deriveManagerTitle |
t |
software | healthy | src/components/OutreachTab.tsx:t |
detectGeoFromLocation |
software | healthy | src/components/OutreachTab.tsx:detectGeoFromLocation |
buildLinkedInUrl |
software | healthy | src/components/OutreachTab.tsx:buildLinkedInUrl |
LinkedInSearchPanel |
software | healthy | src/components/OutreachTab.tsx:LinkedInSearchPanel |
company |
software | healthy | src/components/OutreachTab.tsx:company |
openUrl |
software | healthy | src/components/OutreachTab.tsx:openUrl |
NetworkRadio |
software | healthy | src/components/OutreachTab.tsx:NetworkRadio |
OutreachTab |
software | healthy | src/components/OutreachTab.tsx:OutreachTab |
tick |
software | healthy | src/components/OutreachTab.tsx:tick |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
playwright.config.ts |
software | warning | playwright.config.ts |
tsconfig.app.json |
software | healthy | tsconfig.app.json |
vite.config.ts |
software | warning | vite.config.ts |
README.md |
software | healthy | README.md |
tailwind.config.ts |
software | warning | tailwind.config.ts |
playwright-fixture.ts |
software | warning | playwright-fixture.ts |
package.json |
software | healthy | package.json |
tsconfig.node.json |
software | healthy | tsconfig.node.json |
index.html |
software | healthy | index.html |
package-lock.json |
software | healthy | package-lock.json |
components.json |
software | healthy | components.json |
eslint.config.js |
software | warning | eslint.config.js |
tsconfig.json |
software | healthy | tsconfig.json |
.env |
software | healthy | .env |
postcss.config.js |
software | warning | postcss.config.js |
vitest.config.ts |
software | warning | vitest.config.ts |
config.toml |
software | healthy | supabase/config.toml |
index.ts |
software | healthy | supabase/functions/draft-outreach-messages/index.ts |
index.ts |
software | healthy | supabase/functions/draft-tracker-message/index.ts |
index.ts |
software | healthy | supabase/functions/tailor-cv/index.ts |
index.ts |
software | healthy | supabase/functions/calculate-match-score/index.ts |
index.ts |
software | healthy | supabase/functions/parse-job/index.ts |
index.ts |
software | healthy | supabase/functions/test-linkedin-connection/index.ts |
index.ts |
software | healthy | supabase/functions/parse-cv/index.ts |
index.ts |
software | healthy | supabase/functions/search-linkedin-contacts/index.ts |
index.ts |
software | healthy | supabase/functions/generate-interview-prep/index.ts |
20260423111525_aacc61a2-9847-4e65-8187-032c18444ddd.sql |
software | healthy | supabase/migrations/20260423111525_aacc61a2-9847-4e65-8187-… |
20260408164350_5ef8c6ab-0871-41fb-8354-94fb30b3f041.sql |
software | healthy | supabase/migrations/20260408164350_5ef8c6ab-0871-41fb-8354-… |
20260406091613_dbde6184-9c01-4130-a5ef-ed51ca21e6fc.sql |
software | healthy | supabase/migrations/20260406091613_dbde6184-9c01-4130-a5ef-… |
20260405210717_8ed7fa06-be39-417d-a18d-f491836da50a.sql |
software | healthy | supabase/migrations/20260405210717_8ed7fa06-be39-417d-a18d-… |
20260423150545_12685850-6869-4e80-b96f-7ea0619b0d72.sql |
software | healthy | supabase/migrations/20260423150545_12685850-6869-4e80-b96f-… |
20260405110025_7ef0032c-a0dd-44de-bc2a-e119260a26a5.sql |
software | healthy | supabase/migrations/20260405110025_7ef0032c-a0dd-44de-bc2a-… |
20260313124840_7b638dd3-54e0-4661-807f-eeffc696c99f.sql |
software | healthy | supabase/migrations/20260313124840_7b638dd3-54e0-4661-807f-… |
20260407142226_b4b584bc-7f5b-45d5-a55e-99e39a3790ee.sql |
software | healthy | supabase/migrations/20260407142226_b4b584bc-7f5b-45d5-a55e-… |
20260313140925_5718d553-7680-4838-bbe0-e9b4f773a7d1.sql |
software | healthy | supabase/migrations/20260313140925_5718d553-7680-4838-bbe0-… |
20260407142030_34170785-f43a-40e4-805e-05dedc43d04c.sql |
software | healthy | supabase/migrations/20260407142030_34170785-f43a-40e4-805e-… |
20260405221359_bd0d2adb-9365-488a-9a92-4cba03133cba.sql |
software | healthy | supabase/migrations/20260405221359_bd0d2adb-9365-488a-9a92-… |
20260405220027_553f42b3-492a-436f-a13c-2653a2793e16.sql |
software | healthy | supabase/migrations/20260405220027_553f42b3-492a-436f-a13c-… |
20260405222038_1725dfbe-74c2-475a-8e07-bd66782aa57d.sql |
software | healthy | supabase/migrations/20260405222038_1725dfbe-74c2-475a-8e07-… |
20260416174946_112577c1-b298-46b9-ad10-8ebaff9d9666.sql |
software | healthy | supabase/migrations/20260416174946_112577c1-b298-46b9-ad10-… |
20260406121754_9aa55c90-a521-4d6b-ae63-58acfcfa2be7.sql |
software | healthy | supabase/migrations/20260406121754_9aa55c90-a521-4d6b-ae63-… |
20260407141746_1088b4e0-d9d4-4bad-aef1-b31de99f4248.sql |
software | healthy | supabase/migrations/20260407141746_1088b4e0-d9d4-4bad-aef1-… |
20260405215858_b23566d3-8707-4ab6-8f3b-19559a92e018.sql |
software | healthy | supabase/migrations/20260405215858_b23566d3-8707-4ab6-8f3b-… |
20260423111247_e3da3ecc-83d8-4c3e-9ccb-4df5d8328736.sql |
software | healthy | supabase/migrations/20260423111247_e3da3ecc-83d8-4c3e-9ccb-… |
20260405214423_6bb64b04-d650-45a5-bfe6-da8a59ed4db0.sql |
software | healthy | supabase/migrations/20260405214423_6bb64b04-d650-45a5-bfe6-… |
20260406085253_0ae9bc28-592a-48cf-911e-5970dc227307.sql |
software | healthy | supabase/migrations/20260406085253_0ae9bc28-592a-48cf-911e-… |
20260401223534_8b5c71e9-a2d1-448f-b196-37dbe7ff998d.sql |
software | healthy | supabase/migrations/20260401223534_8b5c71e9-a2d1-448f-b196-… |
20260313175409_626cfb3b-f0ae-4b3a-a0b9-2f39e45bf2a0.sql |
software | healthy | supabase/migrations/20260313175409_626cfb3b-f0ae-4b3a-a0b9-… |
20260313175527_473ac57e-a959-4c57-9b0b-e895fd089abb.sql |
software | healthy | supabase/migrations/20260313175527_473ac57e-a959-4c57-9b0b-… |
20260405105213_ea1da093-7dcc-4b63-aba3-db1083c27aab.sql |
software | healthy | supabase/migrations/20260405105213_ea1da093-7dcc-4b63-aba3-… |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
20260423111525_aacc61a2-9847-4e65-8187-032c18444ddd.sql |
data | healthy | supabase/migrations/20260423111525_aacc61a2-9847-4e65-8187-… |
20260408164350_5ef8c6ab-0871-41fb-8354-94fb30b3f041.sql |
data | healthy | supabase/migrations/20260408164350_5ef8c6ab-0871-41fb-8354-… |
20260406091613_dbde6184-9c01-4130-a5ef-ed51ca21e6fc.sql |
data | healthy | supabase/migrations/20260406091613_dbde6184-9c01-4130-a5ef-… |
20260405210717_8ed7fa06-be39-417d-a18d-f491836da50a.sql |
data | healthy | supabase/migrations/20260405210717_8ed7fa06-be39-417d-a18d-… |
20260423150545_12685850-6869-4e80-b96f-7ea0619b0d72.sql |
data | healthy | supabase/migrations/20260423150545_12685850-6869-4e80-b96f-… |
20260405110025_7ef0032c-a0dd-44de-bc2a-e119260a26a5.sql |
data | healthy | supabase/migrations/20260405110025_7ef0032c-a0dd-44de-bc2a-… |
20260313124840_7b638dd3-54e0-4661-807f-eeffc696c99f.sql |
data | healthy | supabase/migrations/20260313124840_7b638dd3-54e0-4661-807f-… |
20260407142226_b4b584bc-7f5b-45d5-a55e-99e39a3790ee.sql |
data | healthy | supabase/migrations/20260407142226_b4b584bc-7f5b-45d5-a55e-… |
20260313140925_5718d553-7680-4838-bbe0-e9b4f773a7d1.sql |
data | healthy | supabase/migrations/20260313140925_5718d553-7680-4838-bbe0-… |
20260407142030_34170785-f43a-40e4-805e-05dedc43d04c.sql |
data | healthy | supabase/migrations/20260407142030_34170785-f43a-40e4-805e-… |
20260405221359_bd0d2adb-9365-488a-9a92-4cba03133cba.sql |
data | healthy | supabase/migrations/20260405221359_bd0d2adb-9365-488a-9a92-… |
20260405220027_553f42b3-492a-436f-a13c-2653a2793e16.sql |
data | healthy | supabase/migrations/20260405220027_553f42b3-492a-436f-a13c-… |
20260405222038_1725dfbe-74c2-475a-8e07-bd66782aa57d.sql |
data | healthy | supabase/migrations/20260405222038_1725dfbe-74c2-475a-8e07-… |
20260416174946_112577c1-b298-46b9-ad10-8ebaff9d9666.sql |
data | healthy | supabase/migrations/20260416174946_112577c1-b298-46b9-ad10-… |
20260406121754_9aa55c90-a521-4d6b-ae63-58acfcfa2be7.sql |
data | healthy | supabase/migrations/20260406121754_9aa55c90-a521-4d6b-ae63-… |
20260407141746_1088b4e0-d9d4-4bad-aef1-b31de99f4248.sql |
data | healthy | supabase/migrations/20260407141746_1088b4e0-d9d4-4bad-aef1-… |
20260405215858_b23566d3-8707-4ab6-8f3b-19559a92e018.sql |
data | healthy | supabase/migrations/20260405215858_b23566d3-8707-4ab6-8f3b-… |
20260423111247_e3da3ecc-83d8-4c3e-9ccb-4df5d8328736.sql |
data | healthy | supabase/migrations/20260423111247_e3da3ecc-83d8-4c3e-9ccb-… |
20260405214423_6bb64b04-d650-45a5-bfe6-da8a59ed4db0.sql |
data | healthy | supabase/migrations/20260405214423_6bb64b04-d650-45a5-bfe6-… |
20260406085253_0ae9bc28-592a-48cf-911e-5970dc227307.sql |
data | healthy | supabase/migrations/20260406085253_0ae9bc28-592a-48cf-911e-… |
20260401223534_8b5c71e9-a2d1-448f-b196-37dbe7ff998d.sql |
data | healthy | supabase/migrations/20260401223534_8b5c71e9-a2d1-448f-b196-… |
20260313175409_626cfb3b-f0ae-4b3a-a0b9-2f39e45bf2a0.sql |
data | healthy | supabase/migrations/20260313175409_626cfb3b-f0ae-4b3a-a0b9-… |
20260313175527_473ac57e-a959-4c57-9b0b-e895fd089abb.sql |
data | healthy | supabase/migrations/20260313175527_473ac57e-a959-4c57-9b0b-… |
20260405105213_ea1da093-7dcc-4b63-aba3-db1083c27aab.sql |
data | healthy | supabase/migrations/20260405105213_ea1da093-7dcc-4b63-aba3-… |
20260313175642_76bf1c2b-f352-4649-a73a-8a5093a3b6e0.sql |
data | healthy | supabase/migrations/20260313175642_76bf1c2b-f352-4649-a73a-… |
20260406085523_4848a5dc-0be7-4787-a86c-79f4f638044d.sql |
data | healthy | supabase/migrations/20260406085523_4848a5dc-0be7-4787-a86c-… |
20260405173925_1871ea92-660f-4029-b7f8-c7f0e7e953a8.sql |
data | healthy | supabase/migrations/20260405173925_1871ea92-660f-4029-b7f8-… |
20260423234213_ce5325a5-6e9f-4d78-b1d7-86808716de03.sql |
data | healthy | supabase/migrations/20260423234213_ce5325a5-6e9f-4d78-b1d7-… |
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | src/App.tsx |
DashboardLayout |
frontend | healthy | src/components/DashboardLayout.tsx |
OutreachTab |
frontend | healthy | src/components/OutreachTab.tsx |
ManualJobModal |
frontend | healthy | src/components/ManualJobModal.tsx |
ContactTracker |
frontend | healthy | src/components/ContactTracker.tsx |
ProductTour |
frontend | healthy | src/components/ProductTour.tsx |
InterviewPrepTab |
frontend | healthy | src/components/InterviewPrepTab.tsx |
StepLanguages |
frontend | healthy | src/components/onboarding/StepLanguages.tsx |
StepEducation |
frontend | healthy | src/components/onboarding/StepEducation.tsx |
StepInterests |
frontend | healthy | src/components/onboarding/StepInterests.tsx |
StepWorkExperience |
frontend | healthy | src/components/onboarding/StepWorkExperience.tsx |
StepVolunteering |
frontend | healthy | src/components/onboarding/StepVolunteering.tsx |
StepSkills |
frontend | healthy | src/components/onboarding/StepSkills.tsx |
StepAwards |
frontend | healthy | src/components/onboarding/StepAwards.tsx |
AuthCallback |
frontend | healthy | src/pages/AuthCallback.tsx |
Index |
frontend | healthy | src/pages/Index.tsx |
Profile |
frontend | healthy | src/pages/Profile.tsx |
Landing |
frontend | healthy | src/pages/Landing.tsx |
Welcome |
frontend | healthy | src/pages/Welcome.tsx |
JobTracker |
frontend | healthy | src/pages/JobTracker.tsx |
Onboarding |
frontend | healthy | src/pages/Onboarding.tsx |
Login |
frontend | healthy | src/pages/Login.tsx |
NotFound |
frontend | healthy | src/pages/NotFound.tsx |
Settings |
frontend | healthy | src/pages/Settings.tsx |
JobDetail |
frontend | healthy | src/pages/JobDetail.tsx |
Register |
frontend | healthy | src/pages/Register.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
supabase |
software | healthy | supabase |
functions |
software | healthy | supabase/functions |
draft-outreach-messages |
software | healthy | supabase/functions/draft-outreach-messages |
draft-tracker-message |
software | healthy | supabase/functions/draft-tracker-message |
tailor-cv |
software | healthy | supabase/functions/tailor-cv |
calculate-match-score |
software | healthy | supabase/functions/calculate-match-score |
parse-job |
software | healthy | supabase/functions/parse-job |
test-linkedin-connection |
software | healthy | supabase/functions/test-linkedin-connection |
parse-cv |
software | healthy | supabase/functions/parse-cv |
search-linkedin-contacts |
software | healthy | supabase/functions/search-linkedin-contacts |
generate-interview-prep |
software | healthy | supabase/functions/generate-interview-prep |
migrations |
software | healthy | supabase/migrations |
src |
software | healthy | src |
integrations |
software | healthy | src/integrations |
supabase |
software | healthy | src/integrations/supabase |
types |
software | healthy | src/types |
test |
software | healthy | src/test |
components |
software | healthy | src/components |
ui |
software | healthy | src/components/ui |
onboarding |
software | healthy | src/components/onboarding |
contexts |
software | healthy | src/contexts |
lib |
software | healthy | src/lib |
pages |
software | healthy | src/pages |
hooks |
software | healthy | src/hooks |
| Label | Layer | Status | Path |
|---|---|---|---|
/AuthCallback |
frontend | healthy | src/pages/AuthCallback.tsx |
/Index |
frontend | healthy | src/pages/Index.tsx |
/Profile |
frontend | healthy | src/pages/Profile.tsx |
/Landing |
frontend | healthy | src/pages/Landing.tsx |
/Welcome |
frontend | healthy | src/pages/Welcome.tsx |
/JobTracker |
frontend | healthy | src/pages/JobTracker.tsx |
/Onboarding |
frontend | healthy | src/pages/Onboarding.tsx |
/Login |
frontend | healthy | src/pages/Login.tsx |
/NotFound |
frontend | healthy | src/pages/NotFound.tsx |
/Settings |
frontend | healthy | src/pages/Settings.tsx |
/JobDetail |
frontend | healthy | src/pages/JobDetail.tsx |
/Register |
frontend | healthy | src/pages/Register.tsx |
/ |
frontend | healthy | src/App.tsx |
/register |
frontend | healthy | src/App.tsx |
/auth/callback |
frontend | healthy | src/App.tsx |
/login |
frontend | healthy | src/App.tsx |
/welcome |
frontend | healthy | src/App.tsx |
/onboarding |
frontend | healthy | src/App.tsx |
/dashboard |
frontend | healthy | src/App.tsx |
/jobs/:jobId |
frontend | healthy | src/App.tsx |
/profile |
frontend | healthy | src/App.tsx |
/settings |
frontend | healthy | src/App.tsx |
* |
frontend | healthy | src/App.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
.env in repo |
security | healthy | .env |
password_literal::src/pages/Login.tsx |
security | healthy | src/pages/Login.tsx |
password_literal::src/pages/Register.tsx |
security | healthy | src/pages/Register.tsx |
password_literal::src/pages/Register.tsx |
security | healthy | src/pages/Register.tsx |
password_literal::src/pages/Register.tsx |
security | healthy | src/pages/Register.tsx |
password_literal::src/pages/Register.tsx |
security | healthy | src/pages/Register.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-1rensags |
software | healthy | /tmp/repobility-clone-1rensags |
| Label | Layer | Status | Path |
|---|---|---|---|
public |
data | healthy | supabase/migrations/20260405210717_8ed7fa06-be39-417d-a18d-… |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8080 |
network | healthy | vite.config.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
120.0.0.0 |
network | healthy | supabase/functions/test-linkedin-connection/index.ts |
This page is publicly accessible at:
https://repobility.com/scan/ecbe478e-97ee-4d3d-90ff-98c1aca2692b/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/ecbe478e-97ee-4d3d-90ff-98c1aca2692b/
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.