Before a store answers a request, its server, or a bot-protection service in front of it, may decide whether to let the visitor in. Software names itself in the User-Agent header, a line in each request that carries the client's name and version, and nothing stops a client from writing someone else's name there. The IETF draft on identifying automated traffic puts it this way: "User-Agent, when used alone, can be spoofed meaning anyone may attempt to act as that agent." It lists "IP allowlisting, User-Agent strings, or shared API keys" as the current methods and says they "have significant limitations".
The robots.txt file, where a site lists which crawlers may fetch which paths, does not settle the question. RFC 9309, the standard that defines it, describes rules "that crawlers are requested to honor" and says: "These rules are not a form of access authorization." The rules are matched against the name a crawler gives itself. For agents acting on a person's request, OpenAI's page on its bots says of ChatGPT-User: "Because these actions are initiated by a user, robots.txt rules may not apply."
A store that wants to let a shopper's agent through and keep scrapers out has weak signals to go on. In our reading, a protection rule that cannot tell the two apart has to let both in or turn both away.
The draft quoted above is Web Bot Auth. draft-ietf-webbotauth-httpsig-protocol-00, dated 1 September 2026, is an Internet-Draft of the IETF's webbotauth working group. In our words, an Internet-Draft is an early working document of the IETF, the body that publishes internet standards, and it can still change; the IETF's own boilerplate says such drafts may be cited only as "work in progress". This one is at revision 00, its first version, which is the -00 at the end of its name. Its aim is "to allow automated HTTP clients to cryptographically sign outbound requests, allowing HTTP servers to verify their identity with confidence." It builds on RFC 9421, HTTP Message Signatures. A signed request "MUST carry the Signature-Agent header", which says where the keys are, and the draft defines a key directory at /.well-known/http-message-signatures-directory. The agent's operator publishes a public key, the agent signs each request with the matching private key, and the store's side checks the signature.
How user agents, robots.txt and signed requests work, and what each one proves, is the subject of Bots, crawlers and agents: who is knocking.