fastapi/full-stack-fastapi-template
7 issues need attention.
1 error and 6 warnings in the paths between 23 routes and 2 tables.
- ROUTES
- 23
- TABLES
- 2
- FILES READ
- 118
- RULES RUN
- 7/7
7 findings
POST /private/users can reach user without authenticating.
auth-before-dataPOST /private/users → userPOST /login/access-token has no validator or rate limiter attached.
public-entry-guardedPOST /password-recovery/{email} has no validator or rate limiter attached.
public-entry-guardedPOST /reset-password has no validator or rate limiter attached.
public-entry-guardedPOST /private/users has no validator or rate limiter attached.
public-entry-guardedGET /utils/health-check has no validator or rate limiter attached.
public-entry-guardedPOST /users/signup has no validator or rate limiter attached.
public-entry-guarded
Part of this repository was not read, so this report is incomplete. Unread: packages/react-email/ui/Link.tsx, packages/react-email/ui/Callout.tsx, frontend/src/components/ui/sheet.tsx.
Free account, no card. The repository opens as an editable graph.
Add this check to the README
[](https://wyro.in/scan/fastapi/full-stack-fastapi-template)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.