modern-python/fastapi-sqlalchemy-template

3 errors, 8 warningsmain

11 issues need attention.

3 errors and 8 warnings in the paths between 8 routes and 2 tables.

ROUTE FINDINGS8 of 8 · 7/7 rules
ROUTES
8
TABLES
2
FILES READ
14
RULES RUN
7/7

11 findings

  • PUT /api/decks/{deck_id} can reach decks without authenticating.

    auth-before-dataPUT /api/decks/{deck_id} → decks

  • POST /api/decks can reach decks without authenticating.

    auth-before-dataPOST /api/decks → decks

  • GET /api/cards/{card_id} can reach cards without authenticating.

    auth-before-dataGET /api/cards/{card_id} → cards

  • GET /api/decks has no validator or rate limiter attached.

    public-entry-guarded

  • GET /api/decks/{deck_id} has no validator or rate limiter attached.

    public-entry-guarded

  • PUT /api/decks/{deck_id} has no validator or rate limiter attached.

    public-entry-guarded

  • POST /api/decks has no validator or rate limiter attached.

    public-entry-guarded

  • GET /api/decks/{deck_id}/cards has no validator or rate limiter attached.

    public-entry-guarded

  • GET /api/cards/{card_id} has no validator or rate limiter attached.

    public-entry-guarded

  • POST /api/decks/{deck_id}/cards has no validator or rate limiter attached.

    public-entry-guarded

  • PUT /api/decks/{deck_id}/cards has no validator or rate limiter attached.

    public-entry-guarded

Free account, no card. The repository opens as an editable graph.

Add this check to the README

wyro architecture badge
[![wyro architecture](https://wyro.in/api/badge/modern-python/fastapi-sqlalchemy-template)](https://wyro.in/scan/modern-python/fastapi-sqlalchemy-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.