https://shipreadyai.dev/learn/findings/o13-cors-wildcard

> Discover all available pages from the documentation index at https://shipreadyai.dev/llms.txt

# Cross origin reads are open to every site

{path} answered with an allow origin of {origin}, so any site can read what it returns. Without credentials that is only a problem for data you did not mean to publish.

## Why AI-built apps get this

Cross origin rules get widened during development, when a local page needs to talk to a deployed backend. The wildcard that unblocked the afternoon stays in the deployed version, because nothing about it fails afterwards.

## Evidence line

GET /api/ with an outside origin returned access-control-allow-origin: * with credentials allowed

## The fix

Name the origins that are allowed to read the response instead of allowing all of them.

## Prompt

Set the cross origin allow origin header to an explicit list of your own addresses instead of a wildcard.
