SashenJayathilaka/Project-Management-App
40 issues need attention.
19 errors and 21 warnings in the paths between 24 routes and 8 tables.
- ROUTES
- 24
- TABLES
- 8
- FILES READ
- 120
- RULES RUN
- 7/7
40 findings
GET /tasks/ can reach Task without authenticating.
auth-before-dataGET /tasks/ → TaskPOST /tasks/ can reach Task without authenticating.
auth-before-dataPOST /tasks/ → TaskPATCH /tasks/:taskId/status can reach Task without authenticating.
auth-before-dataPATCH /tasks/:taskId/status → TaskGET /tasks/user/:userId can reach Task without authenticating.
auth-before-dataGET /tasks/user/:userId → TaskGET /search/ can reach User without authenticating.
auth-before-dataGET /search/ → UserGET /search/ can reach Project without authenticating.
auth-before-dataGET /search/ → ProjectGET /search/ can reach Task without authenticating.
auth-before-dataGET /search/ → TaskGET /users/ can reach User without authenticating.
auth-before-dataGET /users/ → UserGET /users/:cognitoId can reach User without authenticating.
auth-before-dataGET /users/:cognitoId → UserPOST /users/ can reach User without authenticating.
auth-before-dataPOST /users/ → UserPOST /api/user can reach User without authenticating.
auth-before-dataPOST /api/user → UserGET /teams/ can reach User without authenticating.
auth-before-dataGET /teams/ → UserGET /teams/ can reach Team without authenticating.
auth-before-dataGET /teams/ → TeamGET /projects/ can reach Project without authenticating.
auth-before-dataGET /projects/ → ProjectPOST /projects/ can reach Project without authenticating.
auth-before-dataPOST /projects/ → ProjectGET /api/tasks/[projectId] can reach Task without authenticating.
auth-before-dataGET /api/tasks/[projectId] → TaskPATCH /api/move/[taskId] can reach Task without authenticating.
auth-before-dataPATCH /api/move/[taskId] → TaskDELETE /api/move/[taskId] can reach Task without authenticating.
auth-before-dataDELETE /api/move/[taskId] → TaskDELETE /api/projects/[projectId] can reach Project without authenticating.
auth-before-dataDELETE /api/projects/[projectId] → ProjectGET / has no validator or rate limiter attached.
public-entry-guardedGET /tasks/ has no validator or rate limiter attached.
public-entry-guardedPOST /tasks/ has no validator or rate limiter attached.
public-entry-guardedPATCH /tasks/:taskId/status has no validator or rate limiter attached.
public-entry-guardedGET /tasks/user/:userId has no validator or rate limiter attached.
public-entry-guardedGET /search/ has no validator or rate limiter attached.
public-entry-guardedGET /users/ has no validator or rate limiter attached.
public-entry-guardedGET /users/:cognitoId has no validator or rate limiter attached.
public-entry-guardedPOST /users/ has no validator or rate limiter attached.
public-entry-guardedPOST /api/user has no validator or rate limiter attached.
public-entry-guardedGET /teams/ has no validator or rate limiter attached.
public-entry-guardedGET /projects/ has no validator or rate limiter attached.
public-entry-guardedPOST /projects/ has no validator or rate limiter attached.
public-entry-guardedGET /api/tasks/[projectId] has no validator or rate limiter attached.
public-entry-guardedPATCH /api/move/[taskId] has no validator or rate limiter attached.
public-entry-guardedDELETE /api/move/[taskId] has no validator or rate limiter attached.
public-entry-guardedDELETE /api/projects/[projectId] has no validator or rate limiter attached.
public-entry-guardedProjectTeam is not connected to anything.
no-orphan-datastoreTaskAssignment is not connected to anything.
no-orphan-datastoreAttachment is not connected to anything.
no-orphan-datastoreComment is not connected to anything.
no-orphan-datastore
Part of this repository was not read, so this report is incomplete. Read 120 of 132 files, schemas and routes first. Point Wyro at a single service directory to read one in full.
Free account, no card. The repository opens as an editable graph.
Add this check to the README
[](https://wyro.in/scan/SashenJayathilaka/Project-Management-App)It updates itself whenever the repository changes and links back to this report.
What this is
Wyro reads the repository’s routes and data models and checks the paths between them: whether a route can reach a table without passing a guard, whether a datastore holding personal data is exposed to a public read, whether an endpoint that issues credentials requires the credentials it issues.
It is rule-based, not a model. The same commit produces the same result every time, and it does not guess at business rules it cannot see. A rule with nothing to look at is reported as not having run — never as a pass.
This check runs on public source through GitHub’s own API and needs no account. A free account adds the editable architecture canvas, private repositories on paid plans, and a CI gate. No card required.