amosbastian/template

2 errors, 7 warningsmain

9 issues need attention.

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

ROUTE FINDINGS5 of 12 · 7/7 rules
ROUTES
12
TABLES
8
FILES READ
120
RULES RUN
7/7

9 findings

  • POST /api/lemonsqueezy can reach teams without authenticating.

    auth-before-dataPOST /api/lemonsqueezy → teams

  • POST /api/lemonsqueezy can reach subscriptions without authenticating.

    auth-before-dataPOST /api/lemonsqueezy → subscriptions

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

    public-entry-guarded

  • GET /api/email-verification has no validator or rate limiter attached.

    public-entry-guarded

  • GET /api/team-invitation-email has no validator or rate limiter attached.

    public-entry-guarded

  • GET /api/trpc/[trpc] has no validator or rate limiter attached.

    public-entry-guarded

  • POST /api/trpc/[trpc] has no validator or rate limiter attached.

    public-entry-guarded

  • auth_session is not connected to anything.

    no-orphan-datastore

  • auth_key is not connected to anything.

    no-orphan-datastore

Part of this repository was not read, so this report is incomplete. Read 120 of 188 files, schemas and routes first. Point Wyro at a single service directory to read one in full. Unread: libs/ui/blog/src/index.ts, libs/ui/blog/src/server.ts, libs/ui/web/src/index.ts.

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/amosbastian/template)](https://wyro.in/scan/amosbastian/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.