[Web-bot-auth] Re: Follow-up from IETF 126: Comments on draft-illyes-webbotauth-cbcp
Nick Mathews <nick@lifelightlabs.com> Tue, 28 July 2026 16:35 UTC
Return-Path: <nick@lifelightlabs.com>
X-Original-To: web-bot-auth@mail2.ietf.org
Delivered-To: web-bot-auth@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id B581A11FEDD0C for <web-bot-auth@mail2.ietf.org>; Tue, 28 Jul 2026 09:35:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1785256554; bh=B3Gkx4T90VGUVLKuKkobdeqhdPpnwvcCAJX5HZB1evo=; h=Date:From:To:Cc:In-Reply-To:References:Subject; b=fZF9uVHnAG+H4HnR7qs4H58EC0GPW3x1wYuXjUpP51cyThIJqF1h3jN7erPD30kLs +IREjb5fcoZiEa3DBv2MwzPDxxCcTCQg6aJlkIQggDM+gBo8E3Vey5IOxjjYiwshZb kYpUZhsndHKQctfNC82K7/eZ2KnKDku1HitKWSrA=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.689
X-Spam-Level:
X-Spam-Status: No, score=-1.689 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01] autolearn=no autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=neutral reason="invalid (public key: not available)" header.d=lifelightlabs.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AmOOfZMNNU-G for <web-bot-auth@mail2.ietf.org>; Tue, 28 Jul 2026 09:35:54 -0700 (PDT)
Received: from mail-qv1-xf32.google.com (mail-qv1-xf32.google.com [IPv6:2607:f8b0:4864:20::f32]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 2B3C911FEDD07 for <web-bot-auth@ietf.org>; Tue, 28 Jul 2026 09:35:54 -0700 (PDT)
Received: by mail-qv1-xf32.google.com with SMTP id 6a1803df08f44-8f032b47e3cso65796d6.0 for <web-bot-auth@ietf.org>; Tue, 28 Jul 2026 09:35:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lifelightlabs.com; s=google; t=1785256554; x=1785861354; darn=ietf.org; h=content-type:mime-version:subject:references:in-reply-to:message-id :cc:to:from:date:from:to:cc:subject:date:message-id:reply-to :content-type; bh=B3Gkx4T90VGUVLKuKkobdeqhdPpnwvcCAJX5HZB1evo=; b=ryyiXL+T6I6+smUgO+Fhig09E09k7XRbaEQ7iKbxby7Zl4Q4d2Pv/aOUm+4x8bWY+D wuARJA+cZy4rQPgLCFRTOku2KwuEGmEavmKU8wGkKsdGu0jEl8Guljij2OQ7/F8iq6qE Lkly8PF0gTNxUF7u3bAfGfl1gCn1zYqRGIPi4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785256554; x=1785861354; h=content-type:mime-version:subject:references:in-reply-to:message-id :cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=B3Gkx4T90VGUVLKuKkobdeqhdPpnwvcCAJX5HZB1evo=; b=DsF+pL89N7/WUSeBZOq3KtMr3htnME2luaBfd3Sat8QUUGebEkpEURjyIH4dgcN9aO Ito85/ft2kkPsEUR+lRdyzeyVXDDYpmx3POXCPd+2LMWw4RKNXU4VfPdJTjlVPlUywFY pEYbvqdBsW/wo8XewlssQKHIxXGMrrSJXQ8YSXHknEV9T7HPLFjTucwc4XWbfgMCi1p6 30xAODcoCbXmX8l/10l0zs49B7BLAA9B+DDKC7YZtlh9ZsPGOdCp7nDieGrnU3Jk+w1d vRfVyu/BX1FCK6O7zA+IRieOLLtWDOgZs9IsegTz6nWOO80FLiqJzdfkSBRWQgfYVJut CoJg==
X-Forwarded-Encrypted: i=1; AHgh+RoAR+Ge3egxN3WLh0EB4yZDAi4qRI6S86FAprO+y7HZu2OB6+lAT/vcSjXcBj2EN/YOJ+4W6lGgJOZBv+Q=@ietf.org
X-Gm-Message-State: AOJu0Yyr9VETBl7O7w41A0ld++ZSC5jsl/WrrQUS9SaNToIU1KxeyUrG e/RKCRzaJEpUhn6291FeX28I/fLteKJT9FdYvmJnzZdJ7yvzRyIlmMsTOX9W9UPwnhw=
X-Gm-Gg: AR+sD12ag3ZZNPFmJ7pVuDunNdmmY2vOhHzV3crrt5LVChxg9Ic0wS5Nw6y5L3NxVza /M2sI4xHthnCjWPgXDHpf5+pM/jzIknBoeVzHio3q4PLL2feeGgK2hIA0iySFnjv1+D98IaMksT PJy1vLebB4VKu5isxW9RPhJ4qeTytHL3/UH9wJWzYMKfvCk+7O3ErzQzNTnw12PIaJSmgGMUBHd fMvhzUlTlvjidZodgFjm0QdaB81qAhh/gQkiLibXEuV9h1WF3K+P0QTqemtRyDDnpgA6p2SW+uS YeAvFhiMsULqcpFrVpvWQcP23wDQrnl6FJxvV13ZBZiQmfO8yHj9ZrsLP7ap9p+YShE01tAhlkY zcb+9NQlJy4immqy31phbYvZQ7njho6BQW3IHqnxGLlNYjl8Q1TYWRfK+rQ54YOBNMkPjatnDbl GLcdtd/Kv2VFXAGV4XyUOshReLXlIsMoDLKK5alUcoPWUUeln6hGCb5udb/PZc6XIbxIN3lDUTz z78UnLBayd0cgXqUXleFaDrRWY0kVGb7iamUDs=
X-Received: by 2002:a05:6214:320c:b0:8ef:4ed2:316 with SMTP id 6a1803df08f44-90816f7f4d3mr33913566d6.1.1785256553386; Tue, 28 Jul 2026 09:35:53 -0700 (PDT)
Received: from [2600:1003:b4a1:3426::10:0] ([2600:1003:b4a1:3426:2083:a207:b5e4:9a61]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-9081dc49e58sm2865166d6.10.2026.07.28.09.35.52 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Jul 2026 09:35:53 -0700 (PDT)
Date: Tue, 28 Jul 2026 12:35:46 -0400
From: Nick Mathews <nick@lifelightlabs.com>
To: Sauron <sauron=40google.com@dmarc.ietf.org>, web-bot-auth@ietf.org
Message-ID: <b6abbcf2-76f6-4ace-add0-e9651512f5a7@Spark>
In-Reply-To: <CADTQi=dSGTGJtczLTZ1ua77C8h4pvGhrVkz3MZV7SO280MJrKQ@mail.gmail.com>
References: <CADTQi=dSGTGJtczLTZ1ua77C8h4pvGhrVkz3MZV7SO280MJrKQ@mail.gmail.com>
X-Readdle-Message-ID: b6abbcf2-76f6-4ace-add0-e9651512f5a7@Spark
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="6a68da68_7545e146_53b"
Message-ID-Hash: VXAICRE5NS26JFOI3LTGEFXO75RXFAUJ
X-Message-ID-Hash: VXAICRE5NS26JFOI3LTGEFXO75RXFAUJ
X-MailFrom: nick@lifelightlabs.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "Mirja Kuehlewind (IETF)" <ietf@kuehlewind.net>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Web-bot-auth] Re: Follow-up from IETF 126: Comments on draft-illyes-webbotauth-cbcp
List-Id: Authentication of non-human users to human-oriented Web sites <web-bot-auth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/web-bot-auth/aNVOpQ2LcBAD3YPCLMNp1TS2vSE>
List-Archive: <https://mailarchive.ietf.org/arch/browse/web-bot-auth>
List-Help: <mailto:web-bot-auth-request@ietf.org?subject=help>
List-Owner: <mailto:web-bot-auth-owner@ietf.org>
List-Post: <mailto:web-bot-auth@ietf.org>
List-Subscribe: <mailto:web-bot-auth-join@ietf.org>
List-Unsubscribe: <mailto:web-bot-auth-leave@ietf.org>
Hi Gary, Comments on CBCP from the site side, in the three areas you asked about. I run AVA Pay, an open source merchant-side verifier for automated commerce traffic (Web Bot Auth, Visa TAP, AP2). We sit where these practices get enforced, so these observations come from operating the receiving end rather than from running a crawler. 1. Scope: user-initiated agents will be governed by this document whether or not they are in it. Section 1 defines a crawler as retrieving resources "without direct human initiation of individual requests." That cleanly excludes the fastest-growing class of automated traffic we see: an agent dispatched by one person, for one task, at one site, thirty seconds ago. The exclusion is correct as a definition and unhelpful as a deployment reality, because site operators cannot tell the two apart at request time. What actually happens is that crawler policy gets applied to a shopping agent carrying a customer's intent, and a sale is refused. Suggestion: say explicitly whether user-initiated agents are in scope, and if not, name the venue that covers them. A sentence acknowledging that sites cannot distinguish the classes without additional signals would also motivate the rest of the WG's work nicely. 2. Rate control: back-out logic keyed on 5xx misses the signal that rate limiters actually emit. Section 2.3 requires back-out logic relying on "at least the standard signals defined by Section 15.6 of [HTTP-SEMANTICS]," which is the 5xx server error range. In practice the response to excessive automated traffic is usually 429 with Retry-After, not a 5xx, and often not even that: the more common failure is silent degradation, where a site's protection layer starts serving partial or challenge content while still returning 200. We hit exactly this last week. Repeated automated fetches of one domain tripped that site's rate limiter; the visible symptom was degraded content well before any hard failure. A crawler keying only on 5xx would have kept going. Suggestions: reference 429 and Retry-After explicitly as normative back-off signals; add guidance that a sudden change in response shape (challenge pages, truncated content, redirect to interstitials) should be treated as a back-off signal rather than as content; and consider whether a machine readable way for a site to state its own limit is in scope, since today a well behaved crawler is left to guess and a badly behaved one pays no price. 3. Identification: the document requires identity that cannot be verified, in the working group that is building verifiable identity. Sections 2.2 and 2.5 rest on user-agent strings and published IP ranges. Both are self-asserted from the site's perspective. Any client can claim to be any crawler in a User-Agent header, and IP-range publication is operationally fragile in the presence of CDNs, cloud egress, and IPv6 churn. This is the concrete pain merchants describe: roughly half of commerce traffic is now automated, most sites have no policy beyond monitoring, and the identification they are offered is a string anyone can type. Suggestion: keep 2.2 and 2.5 as baseline hygiene, but state plainly that user-agent and IP-range identification MUST NOT be treated as authentication, and point normatively to the signature-based work in this working group as the preferred mechanism where available. Same for the central registry idea in Section 1: a registry of names without proof-of-key reproduces the problem it is meant to solve. Anchoring it in the key-directory work being drafted here seems strictly better than a parallel list. Happy to contribute text for any of this, or to open the issues on GitHub if you prefer them there. Nick Mathews AVA Pay, Agentic Verification Architecture LLC https://github.com/AVA-PAY/ava-pay On Jul 27, 2026 at 8:42 AM -0400, Sauron <sauron=40google.com@dmarc.ietf.org>, wrote: > Hi all, > Thanks for the engagement and support during the working group session at IETF126. > As mentioned during the meeting, we are looking for even more feedback on the Crawler Best Practices draft: https://datatracker.ietf.org/doc/draft-illyes-webbotauth-cbcp/ / https://github.com/garyillyes/cbcp > Specifically, input on the scope, rate control conventions, and handling of non-malicious crawlers would be really useful to help move the draft forward. Please send any comments to the list or open issues directly on GitHub. > Thanks, > Gary > PS: if you have ideas where to send the following two drafts that CBCP depends on, that would be hugely welcome > 1. JAFAR: https://datatracker.ietf.org/doc/draft-illyes-webbotauth-jafar/ > 2. REP-ext https://datatracker.ietf.org/doc/draft-illyes-repext/ > _______________________________________________ > Web-bot-auth mailing list -- web-bot-auth@ietf.org > To unsubscribe send an email to web-bot-auth-leave@ietf.org