Skip to main content

Protecting Credentials with HTTP APIs
draft-ietf-httpapi-privacy-06

Revision differences

Document history

Date Rev. By Action
2026-08-13
06 (System) RPC status changed to Awaiting First editor from Awaiting Editor Assignment
2026-07-06
06 (System) RPC status changed to Awaiting Editor Assignment from ref_checker
2026-06-29
06 (System) RPC status changed to ref_checker from formatting
2026-06-09
06 (System) IANA Action state changed to No IANA Actions from In Progress
2026-06-09
06 (System) RPC status changed to formatting from Awaiting Editor Assignment
2026-06-09
06 (System) RPC status changed to Awaiting Editor Assignment from blocked: Author Input Required
2026-06-09
06 (System) RFC Editor state changed to In Progress from Blocked
2026-06-05
06 (System) RPC status changed to blocked: Author Input Required from Awaiting Editor Assignment
2026-06-05
06 (System) RFC Editor state changed to Blocked from In Progress
2026-06-05
06 (System) RPC status changed to Awaiting Editor Assignment
2026-06-05
06 (System) RFC Editor state changed to In Progress
2026-06-05
06 (System) IESG state changed to RFC Ed Queue from Approved-announcement sent
2026-06-05
06 (System) Announcement was received by RFC Editor
2026-06-05
06 (System) IANA Action state changed to In Progress
2026-06-05
06 Morgan Condie IESG state changed to Approved-announcement sent from Approved-announcement to be sent
2026-06-05
06 Morgan Condie IESG has approved the document
2026-06-05
06 Morgan Condie Closed "Approve" ballot
2026-06-05
06 Morgan Condie Ballot approval text was generated
2026-06-05
06 Gorry Fairhurst Feedback provided in IESG evaluation has been considered by the editors and the current revision is now ready for publication to continue.
2026-06-05
06 (System) Removed all action holders (IESG state changed)
2026-06-05
06 Gorry Fairhurst IESG state changed to Approved-announcement to be sent from IESG Evaluation::AD Followup
2026-06-05
06 Gorry Fairhurst Ballot writeup was changed
2026-06-05
06 Gorry Fairhurst Ballot approval text was generated
2026-05-11
06 (System) Changed action holders to Gorry Fairhurst (IESG state changed)
2026-05-11
06 (System) Sub state has been changed to AD Followup from Revised I-D Needed
2026-05-11
06 Rich Salz New version available: draft-ietf-httpapi-privacy-06.txt
2026-05-11
06 Rich Salz New version approved
2026-05-11
06 (System) Request for posting confirmation emailed to previous authors: Marius Kleidl , Mike Bishop , Rich Salz
2026-05-11
06 Rich Salz Uploaded new revision
2026-05-06
05 Gorry Fairhurst Ballot writeup was changed
2026-05-06
05 Gorry Fairhurst Editors plan to publish a new revised-ID based on all the IESG feedback.
2026-05-06
05 (System) Changed action holders to Rich Salz, Mike Bishop, Marius Kleidl (IESG state changed)
2026-05-06
05 Gorry Fairhurst IESG state changed to IESG Evaluation::Revised I-D Needed from IESG Evaluation::AD Followup
2026-04-16
05 Mahesh Jethanandani
[Ballot comment]
Thanks to the authors for addressing my DISCUSS. However, I am leaving my comments in place as not all of them seem to …
[Ballot comment]
Thanks to the authors for addressing my DISCUSS. However, I am leaving my comments in place as not all of them seem to have been addressed.

Section 1, paragraph 4
>    This document describes actions API servers and clients should take
>    in order to safeguard credentials.  These recommendations are not
>    directed at resources where no authentication is used.

The HTTPDIR reviewer (thanks, Mark Nottingham) raised this concern,
and it does not appear to have been addressed in -04.
RFC 7258 establishes an IETF-wide consensus that passive monitoring
is an attack, and that all protocols should provide appropriate
confidentiality, regardless of whether authentication is present.
The current framing implicitly suggests that unencrypted HTTP is
acceptable for unauthenticated API traffic, which sits in tension
with RFC 7278's mandate.

A single added sentence acknowledging RFC 7258's broader scope —
while making clear that this document's specific recommendations
target authenticated APIs — would close the gap. For example:
"Although this document focuses on authenticated API endpoints,
operators should be aware that RFC 7258 establishes broader
reasons to use HTTPS regardless of whether credentials are transmitted."

Section 2.4, paragraph 1
>    HTTP status code 403 (Forbidden) indicates that "the server
>    understood the request but refuses to fulfill it" [HTTP].  While this
>    is generally understood to mean that "the server considers [the
>    credentials] insufficient to grant access," it also states that "a
>    request might be forbidden for reasons unrelated to the credentials."
>    HTTP API servers SHOULD return status code 403 to all requests
>    received over an insecure channel, regardless of the validity of the
>    presented credentials.

The document says servers SHOULD return 403 to *all* requests received
over an insecure channel, "regardless of the validity of the presented
credentials." But what about a request with no credentials at all
arriving over HTTP? Returning 403 to such a request discloses:

(a) the resource exists, and
(b) authentication is required.

An attacker scanning for credential-bearing endpoints could use this
to enumerate the API surface area. The alternative (e.g., closing the
connection without a response, or returning 400) might be preferable
for requests with no credentials. This is worth a sentence clarifying
the intended behavior.

Section 2.4.1, paragraph 0
>    When a request is received over an unencrypted channel, the presented
>    credential is potentially compromised.  HTTP API servers SHOULD
>    revoke such credentials immediately.  When the credential is next
>    used over a secure channel, the server MAY return an error that
>    indicates why the credential was revoked.

This paragraph recommends that servers SHOULD immediately revoke credentials
received over an insecure channel. Section 4 correctly identifies a DoS risk:
an attacker could deliberately present guessed credentials over HTTP to
trigger revocation of valid ones. The recommended mitigation is connection
rate-limiting, as the authors have already noted.

However, the document does not address the mirror problem: a legitimate but
misconfigured API client that routinely sends credentials over HTTP (e.g.,
because of a deployment error) would have its credentials repeatedly revoked,
disrupting service before the operator even notices the misconfiguration.
This is particularly relevant given the document's stated motivation —
that such misconfigurations are common and often go unnoticed.

A note acknowledging this trade-off (and suggesting, e.g., a notification
mechanism or grace period rather than immediate revocation in such cases)
would make the guidance more operationally realistic.

Section 3.2, paragraph 1
>    Clients MUST NOT send any header field that contains a secret token
>    over an insecure channel.  Such header fields include Authorization
>    and Proxy-Authorization and are described in Sections 11.6.2 and
>    11.7.2 of [RFC9110], respectively.

RFC9110 appears twice in the Normative References section under two
different labels. [HTTP] and [RFC9110]. Can this be reduced to one
reference, preferably [RFC9110], to be consistent with all other
references that use [RFCXXXX] instead of names?

Section 3.3, paragraph 0
>    When authentication is used, clients SHOULD require an explicit
>    indication from the user or caller that an insecure context is
>    expected which is distinct from the provided URI.  Depending on the
>    interface, this might be a UI preference or an API flag.

The phrase "distinct from the provided URI" is opaque. Reading it
with the examples ("a UI preference or an API flag"), the apparent
intent is that the indication of an allowed insecure context must
not be derived solely from the scheme of the URI
(i.e., using http:// is not itself a sufficient indication —
something separate must also be set). If so, that should be stated
directly. As written, a reader might interpret "distinct from the URI"
as something else entirely. How about saying - "which is distinct
from the provided URI, e.g., an UI preference or an API flag."?

Found terminology that should be reviewed for inclusivity; see
https://www.rfc-editor.org/part2/#inclusive_language for background and more
guidance:

* Term "his"; alternatives might be "they", "them", "their"

-------------------------------------------------------------------------------
NIT
-------------------------------------------------------------------------------

All comments below are about very minor potential issues that you may choose to
address in some way - or ignore - as you see fit. Some were flagged by
automated tools (via https://github.com/larseggert/ietf-reviewtool), so there
will likely be some false positives. There is no need to let me know what you
did with these suggestions.

"RFC9110", paragraph 1
> 1 creates the potential for a denial of service attack where an attacker gues
>                              ^^^^^^^^^^^^^^^^^
It appears that hyphens are missing.
2026-04-16
05 Mahesh Jethanandani [Ballot Position Update] Position for Mahesh Jethanandani has been changed to No Objection from Discuss
2026-04-16
05 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - No Actions Needed
2026-04-16
05 Mike Bishop New version available: draft-ietf-httpapi-privacy-05.txt
2026-04-16
05 Mike Bishop New version approved
2026-04-16
05 (System) Request for posting confirmation emailed to previous authors: Marius Kleidl , Mike Bishop , Rich Salz
2026-04-16
05 Mike Bishop Uploaded new revision
2026-04-16
04 Cindy Morgan IESG state changed to IESG Evaluation::AD Followup from IESG Evaluation
2026-04-15
04 Tommy Jensen [Ballot comment]
I have no commentary not already provided, and otherwise support publication of this document.
2026-04-15
04 Tommy Jensen [Ballot Position Update] New position, No Objection, has been recorded for Tommy Jensen
2026-04-14
04 Charles Eckel
[Ballot comment]
Thanks to Barry Leiba for the ARTART review.

I found the document to be very clear and to provide helpful guidance. There is; …
[Ballot comment]
Thanks to Barry Leiba for the ARTART review.

I found the document to be very clear and to provide helpful guidance. There is; however, one sentence that was challenging for me to understand because I was not parsing it as I believe the authors intended.

- Section 3.3: When authentication is used, clients SHOULD require an explicit indication from the user or caller that an insecure context is expected which is distinct from the provided URI.

I did not understand what was meant by "an insecure context is expected which is distinct from the provided URI."

Thanks to the helpful shepherd writeup from Darrel Miller, I became aware of the following GitHub issue and resolution.

- "Client HTTPS requirements (GitHub Issue #7, September 2024-June 2025):
- Martin Thomson proposed that clients MUST use HTTPS exclusively, eliminating the need for HSTS and upgrade mechanisms. After discussion, the working group adopted a compromise requiring clients to implement and use HTTPS exclusively "absent a deliberate indication that an insecure context is deliberate." This balances security with practical testing scenarios while making the default secure.

I believe the following rewording aligns with the original intent, and it certainly helps me understand what is meant.

- Section 3.3: When authentication is used, clients SHOULD require an explicit indication, which is distinct from the provided URI, from the user or caller that an insecure context is expected.
2026-04-14
04 Charles Eckel [Ballot Position Update] New position, No Objection, has been recorded for Charles Eckel
2026-04-14
04 Roman Danyliw
[Ballot comment]
Thank you to Ron Evens for the GENART review.

** idnits:
  -- Duplicate reference: RFC9110, mentioned in 'RFC9110', was also mentioned …
[Ballot comment]
Thank you to Ron Evens for the GENART review.

** idnits:
  -- Duplicate reference: RFC9110, mentioned in 'RFC9110', was also mentioned
    in 'HTTP'.

** Section 1.
  Some have wondered if this document is really necessary.  After all,
  we have been telling people not to send passwords and such in the
  clear for decades.

-- Consider less colloquial language. 

-- Who are these “people”? Who is the “we” and where have “we” been “telling people”?

** Section 1.  Editorial.
  Regrettably, this lesson seems to be largely
  forgotten by those developing Web-based APIs.

Respectfully, this seems like a broad generalization, [BLOG] reference aside.  Is this text is needed to motivate the work?

** Editorial.  Consider if these idioms are approachable.
-- Abstract, “This document discusses the pitfalls …”
-- Section 2.1, “Neither mechanism is foolproof.”

** Other Editorial.  Other ADs have already mentioned that this document doesn’t seem strongly related to privacy despite it being in the title.
2026-04-14
04 Roman Danyliw [Ballot Position Update] New position, No Objection, has been recorded for Roman Danyliw
2026-04-14
04 Ketan Talaulikar
[Ballot comment]
Thanks to the authors and the WG for their work on this document.

Please find below some comments/suggestions to help improve the document. …
[Ballot comment]
Thanks to the authors and the WG for their work on this document.

Please find below some comments/suggestions to help improve the document.

1) I feel that the phrase "can be an anti-pattern for authenticated HTTP API traffic" might not be clear enough to (some or many?) readers. Perhaps a bit more prose or explanation would be helpful. Essentially what is being said is that following the same pattern for APIs (as is done for browsers) is not the best idea, even if it seems so on the first look, and has pitfalls and issues such as inadvertent disclosure of secure credentials ... < please rephrase in a more appropriate manner >

2) The title includes "Privacy", but since this is about credentials, should it also not include Security in the title?

3) There are duplicate references to RFC9110 - once as "HTTP" and then again as "RFC9110"
2026-04-14
04 Ketan Talaulikar [Ballot Position Update] New position, No Objection, has been recorded for Ketan Talaulikar
2026-04-13
04 Christopher Inacio
[Ballot comment]
Thanks to all the reviewers (Christian, Roni, Barry, Mark); the draft is well written and gives (more?) guidance on an important topic.

I …
[Ballot comment]
Thanks to all the reviewers (Christian, Roni, Barry, Mark); the draft is well written and gives (more?) guidance on an important topic.

I think the other ADs and reviewers have covered any comments that I would provide at this point.
2026-04-13
04 Christopher Inacio [Ballot Position Update] New position, No Objection, has been recorded for Christopher Inacio
2026-04-13
04 Deb Cooley [Ballot Position Update] Position for Deb Cooley has been changed to No Objection from No Record
2026-04-13
04 Deb Cooley
[Ballot comment]
Thanks to Christian Huitema for their secdir review.

I do appreciate the goal of this BCP, and I hope my suggestions might help …
[Ballot comment]
Thanks to Christian Huitema for their secdir review.

I do appreciate the goal of this BCP, and I hope my suggestions might help convey the information more clearly.  My comments are not blocking, and my goal is to make the specification more easily understood.

General:  I do agree with Christian that this draft 'buries the lede' (https://www.merriam-webster.com/wordplay/bury-the-lede-versus-lead). If the goal of the BCP is to inform the community about the risks and vulnerabilities of credential exposure via unprotected web resources, then it should be stated plainly and directly.   

Abstract, sentence 1:  I'm not sure I understand what this means.  Is it the goal to redirect an HTTP request to an HTTPS port/server?  It does not read that way.  Terms like 'anti-pattern' are not used enough for clear understanding. 

Introduction:  Clearly para 3 and 4 get to the heart of the discussion.  I recommend moving that up to the start of the Introduction.

Section 2.1, sentence 1:  I had to read this sentence 4-5 times to understand the point.  How about, 'To inform clients that unencrypted requests to a server are never appropriate, there are various mechanisms available.'  (vice the current sentence which makes it look like the 'various mechanisms' are 'never appropriate')

Section 4, sentence 1:  I'm sure it is clear to nearly everyone what this means, but I might suggest a reword to something like, 'This entire document is about how to keep user credentials secure by controlling HTTP API interactions.'  (I'm sure you can do better than my suggestion)
2026-04-13
04 Deb Cooley Ballot comment text updated for Deb Cooley
2026-04-13
04 Jim Guichard [Ballot Position Update] New position, No Objection, has been recorded for Jim Guichard
2026-04-12
04 Mahesh Jethanandani
[Ballot discuss]
Thank you to the authors for working on this short, real and well-motivated doucment that is practical and well-structured. These are but one …
[Ballot discuss]
Thank you to the authors for working on this short, real and well-motivated doucment that is practical and well-structured. These are but one DISCUSS, which should easy to address, and a few comments that I believe would go some ways to make it better.

Paragraph 1
>                          API Keys and Privacy

The title "API Keys and Privacy" is imprecise on both nouns:

The document covers all credential types — Bearer tokens, Cookies, API keys,
signature-based MAC credentials — not just API keys.

Section 4 states, "This entire document is about security of HTTP API
interactions", not privacy in the RFC 6973 sense. There is no Privacy
Considerations section (the shepherd correctly notes this is acceptable
given the scope), but then the title's use of "Privacy" is misleading.

Given that Barry Leiba and Roni Even found no issue with the title,
this is likely a matter of WG taste. However, a title like
"API Credential Security" or "Protecting Credentials in HTTP APIs"
would be more accurate.
2026-04-12
04 Mahesh Jethanandani
[Ballot comment]
Section 1, paragraph 4
>    This document describes actions API servers and clients should take
>    in order to safeguard credentials.  …
[Ballot comment]
Section 1, paragraph 4
>    This document describes actions API servers and clients should take
>    in order to safeguard credentials.  These recommendations are not
>    directed at resources where no authentication is used.

The HTTPDIR reviewer (thanks, Mark Nottingham) raised this concern,
and it does not appear to have been addressed in -04.
RFC 7258 establishes an IETF-wide consensus that passive monitoring
is an attack, and that all protocols should provide appropriate
confidentiality, regardless of whether authentication is present.
The current framing implicitly suggests that unencrypted HTTP is
acceptable for unauthenticated API traffic, which sits in tension
with RFC 7278's mandate.

A single added sentence acknowledging RFC 7258's broader scope —
while making clear that this document's specific recommendations
target authenticated APIs — would close the gap. For example:
"Although this document focuses on authenticated API endpoints,
operators should be aware that RFC 7258 establishes broader
reasons to use HTTPS regardless of whether credentials are transmitted."

Section 2.4, paragraph 1
>    HTTP status code 403 (Forbidden) indicates that "the server
>    understood the request but refuses to fulfill it" [HTTP].  While this
>    is generally understood to mean that "the server considers [the
>    credentials] insufficient to grant access," it also states that "a
>    request might be forbidden for reasons unrelated to the credentials."
>    HTTP API servers SHOULD return status code 403 to all requests
>    received over an insecure channel, regardless of the validity of the
>    presented credentials.

The document says servers SHOULD return 403 to *all* requests received
over an insecure channel, "regardless of the validity of the presented
credentials." But what about a request with no credentials at all
arriving over HTTP? Returning 403 to such a request discloses:

(a) the resource exists, and
(b) authentication is required.

An attacker scanning for credential-bearing endpoints could use this
to enumerate the API surface area. The alternative (e.g., closing the
connection without a response, or returning 400) might be preferable
for requests with no credentials. This is worth a sentence clarifying
the intended behavior.

Section 2.4.1, paragraph 0
>    When a request is received over an unencrypted channel, the presented
>    credential is potentially compromised.  HTTP API servers SHOULD
>    revoke such credentials immediately.  When the credential is next
>    used over a secure channel, the server MAY return an error that
>    indicates why the credential was revoked.

This paragraph recommends that servers SHOULD immediately revoke credentials
received over an insecure channel. Section 4 correctly identifies a DoS risk:
an attacker could deliberately present guessed credentials over HTTP to
trigger revocation of valid ones. The recommended mitigation is connection
rate-limiting, as the authors have already noted.

However, the document does not address the mirror problem: a legitimate but
misconfigured API client that routinely sends credentials over HTTP (e.g.,
because of a deployment error) would have its credentials repeatedly revoked,
disrupting service before the operator even notices the misconfiguration.
This is particularly relevant given the document's stated motivation —
that such misconfigurations are common and often go unnoticed.

A note acknowledging this trade-off (and suggesting, e.g., a notification
mechanism or grace period rather than immediate revocation in such cases)
would make the guidance more operationally realistic.

Section 3.2, paragraph 1
>    Clients MUST NOT send any header field that contains a secret token
>    over an insecure channel.  Such header fields include Authorization
>    and Proxy-Authorization and are described in Sections 11.6.2 and
>    11.7.2 of [RFC9110], respectively.

RFC9110 appears twice in the Normative References section under two
different labels. [HTTP] and [RFC9110]. Can this be reduced to one
reference, preferably [RFC9110], to be consistent with all other
references that use [RFCXXXX] instead of names?

Section 3.3, paragraph 0
>    When authentication is used, clients SHOULD require an explicit
>    indication from the user or caller that an insecure context is
>    expected which is distinct from the provided URI.  Depending on the
>    interface, this might be a UI preference or an API flag.

The phrase "distinct from the provided URI" is opaque. Reading it
with the examples ("a UI preference or an API flag"), the apparent
intent is that the indication of an allowed insecure context must
not be derived solely from the scheme of the URI
(i.e., using http:// is not itself a sufficient indication —
something separate must also be set). If so, that should be stated
directly. As written, a reader might interpret "distinct from the URI"
as something else entirely. How about saying - "which is distinct
from the provided URI, e.g., an UI preference or an API flag."?

Found terminology that should be reviewed for inclusivity; see
https://www.rfc-editor.org/part2/#inclusive_language for background and more
guidance:

* Term "his"; alternatives might be "they", "them", "their"

-------------------------------------------------------------------------------
NIT
-------------------------------------------------------------------------------

All comments below are about very minor potential issues that you may choose to
address in some way - or ignore - as you see fit. Some were flagged by
automated tools (via https://github.com/larseggert/ietf-reviewtool), so there
will likely be some false positives. There is no need to let me know what you
did with these suggestions.

"RFC9110", paragraph 1
> 1 creates the potential for a denial of service attack where an attacker gues
>                              ^^^^^^^^^^^^^^^^^
It appears that hyphens are missing.
2026-04-12
04 Mahesh Jethanandani [Ballot Position Update] New position, Discuss, has been recorded for Mahesh Jethanandani
2026-04-10
04 Andy Newton [Ballot comment]
Many thanks to Barry Lieba for the ARTART review.
Thanks to the authors and working group for this document.
2026-04-10
04 Andy Newton [Ballot Position Update] New position, No Objection, has been recorded for Andy Newton
2026-04-09
04 Mike Bishop [Ballot Position Update] New position, Recuse, has been recorded for Mike Bishop
2026-04-08
04 Mohamed Boucadair
[Ballot comment]
Hi Rich, Mike, and Marius,

Thank you for the effort put into this operational document :-)

Please find some comments below:

# Lack …
[Ballot comment]
Hi Rich, Mike, and Marius,

Thank you for the effort put into this operational document :-)

Please find some comments below:

# Lack of references when some concepts are first introduced

This includes Bearer token (Maybe cite rfc6750), HTTPS, and other similar in in the introduction in particular. Please consider adding some pointers there.

# Do we really need this text in the final RFC?

CURRENT:
  Some have wondered if this document is really necessary.  After all,
  we have been telling people not to send passwords and such in the
  clear for decades.  Regrettably, this lesson seems to be largely
  forgotten by those developing Web-based APIs.  The blog post that
  motivated this document, [BLOG], did a spot-check in May, 2024, and
  found over two dozen websites that were vulnerable to the issues
  listed here.

I think this text (and specifically  the first sentence) are not appropriate in a document that is stamped with IETF consensus.

# Mixing mechanism vs. actual use

CURRENT:
  Various mechanisms exist to inform clients that unencrypted requests
  to a server are never appropriate:

I’m afraid that we are mixing the mechanism vs it use. The statement above is true if and only if such RRs are published at the first place.

# How the developer will notice it?

CURRENT:
  If an API request succeeds despite having an unencrypted endpoint
  configured, the developer or user is less likely to notice the
  misconfiguration. 

Maybe I’m not visualizing the role of developer vs user.

# Servers vs. Operators

CURRENT:
  HTTP API servers MAY induce such an early failure by not accepting
  unencrypted connections, e.g. on port 80.  This makes it impossible
  for a client to send a credential over an insecure channel to the
  authentic server, as no such channel can be opened.  HTTP API servers
  MAY alternatively restrict connections on port 80 to network sources
  which are more trusted, such as a VPN or virtual network interface.

This should not be random decisions of servers, but local policies. I’m not sure who is the consumer of the above reco.

# I’m having troubles to separate the main guidance vs. examples to illustrate it in the following:

CURRENT:
  Whenever possible, credentials should include an indicator to clients
  that the credential is restricted to secure contexts.  For example,
  Cookie-based authentication SHOULD include the Secure attribute
  described in Section 4.1.2.5 of [RFC6265]. 

The first sentence should use normative language while the one with the example shouldn’t.

# Operators?

CURRENT:
  Some deployments might not find it feasible to completely block
  unencrypted connections, whether because the hostname is shared with
  unauthenticated endpoints or for infrastructure reasons. 

A deployment can not auto-assess what is feasible. I think this is better formulated by addressing to operators or those who deploy or exapose an API, or similar.

# I guess the following should be policy-based

OLD:
  HTTP API servers SHOULD return status code 403 to all requests
  received over an insecure channel, regardless of the validity of the
  presented credentials.

NEW:
  HTTP API servers SHOULD return status code 403 to all requests
  received over an insecure channel, regardless of the validity of the
  presented credentials, unless configured otherwise.

# Query is inherited by support of 9460

CURRENT:
  Clients SHOULD support and query for HTTPS records [RFC9460] when
  establishing a connection. 

A client that support RFC9460 will inherit the following from 9460:

  Prior to making an
  "http" scheme request, the client SHOULD perform a lookup to
  determine if any HTTPS RRs exist for that origin.

I would simply say:

NEW:
  Clients SHOULD support HTTPS records [RFC9460]. 

# Caller vs. user

CURRENT:
  When authentication is used, clients SHOULD require an explicit
  indication from the user or caller that an insecure context is

What is the difference between the two? If none, I would keep “user” only. If these are distinct, then please clarify that in the text. Thanks.

Cheers,
Med
2026-04-08
04 Mohamed Boucadair [Ballot Position Update] New position, Yes, has been recorded for Mohamed Boucadair
2026-04-08
04 Gunter Van de Velde
[Ballot comment]
Thank you for the clean and brief write-up.

When going through the text i found it amusing that the page "Your API Shouldn't …
[Ballot comment]
Thank you for the clean and brief write-up.

When going through the text i found it amusing that the page "Your API Shouldn't Redirect HTTP to HTTPS" (https://jviide.iki.fi/http-redirects) is actually redirected to https when one tries to access the content using legacy request to "http://jviide.iki.fi/http-redirects"

Thanks for documenting this BCP
2026-04-08
04 Gunter Van de Velde [Ballot Position Update] New position, No Objection, has been recorded for Gunter Van de Velde
2026-04-07
04 Éric Vyncke
[Ballot comment]
Thanks for the work done in this short and sweet document. Just one comment: who is the "we" in `After all, we have …
[Ballot comment]
Thanks for the work done in this short and sweet document. Just one comment: who is the "we" in `After all, we have been telling people not to send passwords` ? The authors ? The WG ? The IETF ? Please avoid any ambiguities.
2026-04-07
04 Éric Vyncke [Ballot Position Update] New position, No Objection, has been recorded for Éric Vyncke
2026-03-14
04 Gorry Fairhurst Telechat date has been changed to 2026-04-16 (Previous date was 2026-04-02)
2026-03-14
04 Gorry Fairhurst Placed on agenda for telechat - 2026-04-02
2026-03-14
04 Gorry Fairhurst Ballot has been issued
2026-03-14
04 Gorry Fairhurst [Ballot Position Update] New position, Yes, has been recorded for Gorry Fairhurst
2026-03-14
04 Gorry Fairhurst Created "Approve" ballot
2026-03-14
04 Gorry Fairhurst IESG state changed to IESG Evaluation from Waiting for AD Go-Ahead
2026-03-12
04 (System) IESG state changed to Waiting for AD Go-Ahead from In Last Call
2026-03-10
04 (System) IANA Review state changed to IANA OK - No Actions Needed from IANA - Review Needed
2026-03-08
04 Roni Even Request for IETF Last Call review by GENART Completed: Ready. Reviewer: Roni Even. Sent review to list.
2026-03-04
04 Barry Leiba Request for IETF Last Call review by ARTART Completed: Ready. Reviewer: Barry Leiba. Sent review to list. Submission of review completed at an earlier date.
2026-03-04
04 Barry Leiba Request for IETF Last Call review by ARTART Completed: Ready. Reviewer: Barry Leiba.
2026-03-04
04 Barry Leiba Request for IETF Last Call review by ARTART is assigned to Barry Leiba
2026-03-02
04 Jean Mahoney Request for IETF Last Call review by GENART is assigned to Roni Even
2026-02-26
04 Morgan Condie IANA Review state changed to IANA - Review Needed
2026-02-26
04 Morgan Condie
The following Last Call announcement was sent out (ends 2026-03-12):

From: The IESG
To: IETF-Announce
CC: darrel@tavis.ca, draft-ietf-httpapi-privacy@ietf.org, gorry@erg.abdn.ac.uk, httpapi-chairs@ietf.org, httpapi@ietf.org …
The following Last Call announcement was sent out (ends 2026-03-12):

From: The IESG
To: IETF-Announce
CC: darrel@tavis.ca, draft-ietf-httpapi-privacy@ietf.org, gorry@erg.abdn.ac.uk, httpapi-chairs@ietf.org, httpapi@ietf.org
Reply-To: last-call@ietf.org
Sender:
Subject: Last Call:  (API Keys and Privacy) to Best Current Practice


The IESG has received a request from the Building Blocks for HTTP APIs WG
(httpapi) to consider the following document: - 'API Keys and Privacy'
  as Best Current Practice

The IESG plans to make a decision in the next few weeks, and solicits final
comments on this action. Please send substantive comments to the
last-call@ietf.org mailing lists by 2026-03-12. Exceptionally, comments may
be sent to iesg@ietf.org instead. In either case, please retain the beginning
of the Subject line to allow automated sorting.

Abstract


  Redirecting HTTP requests to HTTPS, a common pattern for human-facing
  web resources, can be an anti-pattern for authenticated HTTP API
  traffic.  This document discusses the pitfalls and makes deployment
  recommendations for authenticated HTTP APIs.  It does not specify a
  protocol.




The file can be obtained via
https://datatracker.ietf.org/doc/draft-ietf-httpapi-privacy/



No IPR declarations have been submitted directly on this I-D.




2026-02-26
04 Morgan Condie IESG state changed to In Last Call from Last Call Requested
2026-02-26
04 Gorry Fairhurst Last call was requested
2026-02-26
04 Gorry Fairhurst Last call announcement was generated
2026-02-26
04 Gorry Fairhurst Ballot writeup was generated
2026-02-26
04 Gorry Fairhurst IESG state changed to Last Call Requested from AD Evaluation
2026-02-26
04 Gorry Fairhurst AD review addressed in draft-ietf-httpapi-privacy-04
2026-02-26
04 Gorry Fairhurst IESG state changed to AD Evaluation from Publication Requested::AD Followup
2026-02-26
04 Gorry Fairhurst RFC Editor Note for ballot was generated
2026-02-26
04 Gorry Fairhurst Ballot approval text was changed
2026-02-26
04 Gorry Fairhurst Ballot approval text was generated
2026-02-25
04 (System) Changed action holders to Gorry Fairhurst (IESG state changed)
2026-02-25
04 (System) Sub state has been changed to AD Followup from Revised I-D Needed
2026-02-25
04 Rich Salz New version available: draft-ietf-httpapi-privacy-04.txt
2026-02-25
04 Rich Salz New version approved
2026-02-25
04 (System) Request for posting confirmation emailed to previous authors: Marius Kleidl , Mike Bishop , Rich Salz
2026-02-25
04 Rich Salz Uploaded new revision
2026-02-16
03 (System) Changed action holders to Rich Salz, Mike Bishop, Marius Kleidl (IESG state changed)
2026-02-16
03 Gorry Fairhurst IESG state changed to Publication Requested::Revised I-D Needed from Publication Requested
2026-01-30
03 Darrel Miller
# Document Shepherd Write-Up for draft-ietf-httpapi-privacy

**Document Shepherd:** Darrel Miller
**Date:** November 23, 2025


## Document History

### 1. Does the working group (WG) consensus …
# Document Shepherd Write-Up for draft-ietf-httpapi-privacy

**Document Shepherd:** Darrel Miller
**Date:** November 23, 2025


## Document History

### 1. Does the working group (WG) consensus represent the strong concurrence of a few individuals, with others being silent, or did it reach broad agreement?

The document reached broad agreement within the working group. The document originated from a thread in May-June 2024 titled "HTTP->HTTPS redirects bad for API traffic?" which generated discussion from multiple participants including Mike Bishop, Lucas Pardue, Ben Bucksch, Roberto Polli, and Martin Thomson before being adopted as a working group document in November 2024.

Technical discussions during development were substantive and constructive, with active participation from multiple contributors in GitHub issues including Joachim Viide (author of the motivating blog post), Marius Kleidl (document co-author), and others. Five GitHub issues tracked technical discussions, all of which were resolved with consensus. Key contributors included both document authors and external participants from companies implementing the recommendations.

Working Group Last Call was conducted from September 27 to October 11, 2025, with no objections raised. The WGLC concluded successfully on October 24, 2025, with the chair confirming that all comments received had been addressed by the authors. The document received positive engagement from prominent HTTP experts throughout its development.

### 2. Was there controversy about particular points, or were there decisions where the consensus was particularly rough?

The document had several substantive technical discussions that were ultimately resolved with consensus:

**Client HTTPS requirements (GitHub Issue #7, September 2024-June 2025):** Martin Thomson proposed that clients MUST use HTTPS exclusively, eliminating the need for HSTS and upgrade mechanisms. After discussion, the working group adopted a compromise requiring clients to implement and use HTTPS exclusively "absent a deliberate indication that an insecure context is deliberate." This balances security with practical testing scenarios while making the default secure.

**HTTP Status Code selection (GitHub Issue #3, August 2024):** Extended discussion among Mike Bishop, Rich Salz, Joachim Viide, and Marius Kleidl about which status code to recommend (403, 421, or 426). The group reached consensus on 403 (Forbidden) as it best represents "the server understood the request but refuses to fulfill it" for reasons unrelated to credential validity. The discussion also led to important guidance that servers MUST NOT validate credentials over insecure channels to avoid timing attacks and credential enumeration.

**Signature-based authentication (GitHub Issue #8, October 2024-June 2025):** Discussion about whether to revoke credentials when requests use signature-based authentication (e.g., HMAC) where the secret isn't directly transmitted. The resolution added text distinguishing between direct credential transmission and derived values, allowing servers discretion not to revoke when only signatures are exposed.

The HTTP Directorate review (July 26, 2025) by Mark Nottingham resulted in "On the Right Track" with follow-up discussion from Tim Bray, Martin Thomson, Mark Nottingham, and Roy T. Fielding on July 28-29, 2025. The Security Directorate review (August 13-14, 2025) by Christian Huitema found "Has Nits" which were addressed. The working group last call (September 27 - October 11, 2025) concluded with no objections.

### 3. Has anyone threatened an appeal or otherwise indicated extreme discontent? If so, please summarize the areas of conflict in separate email messages to the responsible Area Director. (It should be in a separate email because this questionnaire is publicly available.)

No. There have been no appeals or indications of extreme discontent throughout the document's development.

### 4. For protocol documents, are there existing implementations of the contents of the document? Have a significant number of potential implementers indicated plans to implement? Are any existing implementations reported somewhere, either in the document itself (as RFC 7942 recommends) or elsewhere (where)?

This is a Best Current Practice document providing guidance rather than a protocol specification. However, the recommendations build upon existing, widely-implemented technologies (HSTS per RFC 6797, HTTPS DNS records per RFC 9460, Cookie Secure attribute per RFC 6265, Secret Token format per RFC 8959). The document was motivated by observed real-world vulnerabilities, as documented in the mentioned blog post that identified over two dozen websites with the problematic HTTP-to-HTTPS redirect pattern for authenticated endpoints.

No specific implementation reports were submitted during the standardization process, which is typical for BCP documents that provide operational guidance rather than protocol specifications. The recommendations are intended to be adopted by API providers as part of their security practices.

## Additional Reviews

### 5. Do the contents of this document closely interact with technologies in other IETF working groups or external organizations, and would it therefore benefit from their review? Have those reviews occurred? If yes, describe which reviews took place.

This document interacts with several existing IETF specifications:
- HTTP-related work (HTTPBIS WG) - references RFC 9110 (HTTP Semantics)
- Security-related specifications (SEC area) - HSTS (RFC 6797), HTTPS DNS records (RFC 9460)
- Cookie specifications - RFC 6265
- Authentication tokens - RFC 8959

Early reviews were requested and completed:

**HTTP Directorate Review (July 25-26, 2025):**
- Reviewer: Mark Nottingham
- Result: "On the Right Track"
- Follow-up discussion with Tim Bray, Martin Thomson, Mark Nottingham, and Roy T. Fielding (July 28-29, 2025)
- Issues addressed by authors

**Security Directorate Review (August 7-14, 2025):**
- Reviewer: Christian Huitema
- Result: "Has Nits"
- Authors responded on August 14, 2025, addressing the nits identified

Both reviews were positive and issues raised were resolved.

### 6. Describe how the document meets any required formal expert review criteria, such as the MIB Doctor, YANG Doctor, media type, and URI type reviews.

No formal expert reviews are required for this document. This is a Best Current Practice document that does not define MIBs, YANG modules, media types, or URI schemes.

### 7. If the document contains a YANG module, has the final version of the module been checked with any of the recommended validation tools for syntax and formatting validation? If there are any resulting errors or warnings, what is the justification for not fixing them at this time? Does the YANG module comply with the Network Management Datastore Architecture (NMDA) as specified in RFC 8342?

Not applicable - this document does not contain a YANG module.

### 8. Describe reviews and automated checks performed to validate sections of the final version of the document written in a formal language, such as XML code, BNF rules, MIB definitions, CBOR's CDDL, etc.

Not applicable - this document does not contain formal language specifications.

## Document Shepherd Checks

### 9. Based on the shepherd's review of the document, is it their opinion that this document is needed, clearly written, complete, correctly designed, and ready to be handed off to the responsible Area Director?

Yes. This document addresses a significant and under-appreciated security vulnerability in HTTP API deployments. The automatic HTTP-to-HTTPS redirect pattern, while appropriate for web browsers, creates a credential exposure risk for authenticated API traffic. The document is clearly written with well-structured recommendations separated into server and client sections. The recommendations are practical and build upon existing, proven technologies.

The document has received positive reviews from both the HTTP Directorate and Security Directorate, with all identified issues resolved. Working group consensus was strong, with no objections during the two-week last call period. The document is ready for Area Director review and progression to IESG.

### 10. Several IETF Areas have assembled lists of common issues that their reviewers encounter. For which areas have such issues been identified and addressed? For which does this still need to happen in subsequent reviews?

The document has been reviewed for common issues in the relevant areas:

**WIT Area:** The HTTP Directorate review by Mark Nottingham (July 26, 2025) found the document "On the Right Track," indicating that HTTP-specific considerations were properly addressed.

**Security Area:** The Security Directorate review by Christian Huitema (August 14, 2025) identified minor nits which were addressed by the authors.

No additional area-specific reviews are anticipated to be needed.

### 11. What type of RFC publication is being requested on the IETF stream (Best Current Practice, Proposed Standard, Internet Standard, Informational, Experimental or Historic)? Why is this the proper type of RFC? Do all Datatracker state attributes correctly reflect this intent?

**Requested Publication Type:** Best Current Practice (BCP)

**Justification:** This document provides operational and deployment guidance for HTTP APIs rather than defining a new protocol or mechanism. It documents best practices for protecting credentials in HTTP API deployments by recommending how to properly use existing protocols (HSTS, HTTPS DNS records, Cookie Secure attribute, etc.). BCP is the appropriate document type for this guidance-focused content.

The Datatracker correctly reflects the BCP intent in the document metadata (category: bcp).

### 12. Have reasonable efforts been made to remind all authors of the intellectual property rights (IPR) disclosure obligations described in BCP 79? To the best of your knowledge, have all required disclosures been filed? If not, explain why. If yes, summarize any relevant discussion, including links to publicly-available messages when applicable.

Yes. The Working Group Last Call announcement (September 27, 2025) included the standard IPR reminder:

"Authors, and WG participants in general, are reminded again of the Intellectual Property Rights (IPR) disclosure obligations described in BCP 79. Appropriate IPR disclosures required for full conformance with the provisions of BCP 78 and BCP 79 must be filed, if you are aware of any."

A search of the IPR disclosure database shows no disclosures related to this document. All three authors have been active participants in IETF work and are familiar with IPR disclosure obligations.

### 13. Has each author, editor, and contributor shown their willingness to be listed as such? If the total number of authors and editors on the front page is greater than five, please provide a justification.

The document lists three authors:
- Rich Salz (Akamai Technologies)
- Mike Bishop (Akamai Technologies)
- Marius Kleidl (Transloadit)

All three authors have been active throughout the document's development. Rich Salz initiated the work and has been primary contact. Mike Bishop participated in the early discussions (May-September 2024) that led to document adoption. All authors participated in responding to directorate reviews in July-August 2025. The number of authors (three) is appropriate and does not require additional justification.

### 14. Document any remaining I-D nits in this document. Simply running the idnits tool is not enough; please review the "Content Guidelines" on authors.ietf.org. (Also note that the current idnits tool generates some incorrect warnings; a rewrite is underway.)

No issues were identified by running the idnits tool.

**Content Guidelines Review:**

The document has been reviewed against the IETF Content Guidelines (https://authors.ietf.org/en/content-guidelines-overview):

**Required Content - All Present and Compliant:**
- **Abstract**: Present, concise (~60 words), stands alone, explains the problem (HTTP-to-HTTPS redirects for authenticated APIs), does not contain citations
- **Status of This Memo**: Auto-generated by RFCXML tooling (v: 3)
- **Copyright Notice**: Auto-generated via ipr attribute
- **Introduction**: Present, explains motivation (credential exposure via redirects), references the motivating blog post, describes applicability to authenticated HTTP APIs
- **Security Considerations**: Substantial section appropriate for a security-focused BCP, addresses DoS risks from credential revocation recommendation
- **IANA Considerations**: Present, correctly states "This document has no IANA actions"
- **References**: Properly split into normative and informative sections, all references are stable and appropriate
- **Authors' Addresses**: Three authors listed (within the 5-author limit), includes affiliations and email addresses

**Language and Style - Compliant:**
- **BCP 14 Keywords**: Properly used with boilerplate reference, appropriate use of MUST, SHOULD, MAY with clear justifications
- **Abbreviations**: Standard abbreviations used correctly (HTTP, HTTPS, HSTS, API, TLS, MAC, VPN, DNS)
- **Not claiming RFC status**: Document correctly refers to itself as a document
- **Inclusive language**: No problematic terminology identified

**Minor Observations (Not Requiring Changes):**
- The title "API Keys and Privacy" emphasizes "keys" but the document covers all authenticated APIs. The abstract and introduction make the broader scope clear.
- Privacy Considerations section is not present as recommended by RFC 6973, but the document's focus is on credential security (preventing exposure) rather than personal data privacy, so the current structure is appropriate.

The document conforms to all required IETF content guidelines.

### 15. Should any informative references be normative or vice-versa? See the IESG Statement on Normative and Informative References.

The document's reference classification appears appropriate:

**Normative references:**
- RFC 6265 (Cookies) - normatively referenced for the Secure attribute
- RFC 6797 (HSTS) - normatively referenced for server and client requirements
- RFC 9110 (HTTP Semantics) - normatively referenced for status code definitions
- RFC 9460 (HTTPS DNS records) - normatively referenced for server and client requirements

**Informative references:**
- RFC 8959 (Secret Token) - informatively referenced as an example mechanism
- Blog post - informatively referenced as motivation for the work

All classifications are appropriate. The normative references are required for implementation of the recommendations, while the informative references provide context or examples.

### 16. List any normative references that are not freely available to anyone. Did the community have sufficient access to review any such normative references?

All normative references are freely available RFCs published by the IETF.

### 17. Are there any normative downward references (see RFC 3967 and BCP 97) that are not already listed in the DOWNREF registry? If so, list them.

There are no downward references in this document.

### 18. Are there normative references to documents that are not ready to be submitted to the IESG for publication or are otherwise in an unclear state? If so, what is the plan for their completion?

No. All normative references are published RFCs.

### 19. Will publication of this document change the status of any existing RFCs? If so, does the Datatracker metadata correctly reflect this and are those RFCs listed on the title page, in the abstract, and discussed in the introduction? If not, explain why and point to the part of the document where the relationship of this document to these other RFCs is discussed.

No. This document does not change the status of any existing RFCs. It provides best practice guidance that builds upon and references existing specifications.

### 20. Describe the document shepherd's review of the IANA considerations section, especially with regard to its consistency with the body of the document. Confirm that all aspects of the document requiring IANA assignments are associated with the appropriate reservations in IANA registries. Confirm that any referenced IANA registries have been clearly identified. Confirm that each newly created IANA registry specifies its initial contents, allocations procedures, and a reasonable name (see RFC 8126).

The IANA Considerations section correctly states: "This document has no IANA actions."

This is appropriate. The document does not define any new protocol elements, status codes, headers, or other items that would require IANA registration. It provides guidance on using existing, already-registered protocol elements.

### 21. List any new IANA registries that require Designated Expert Review for future allocations. Are the instructions to the Designated Expert clear? Please include suggestions of designated experts, if appropriate.

Not applicable - this document does not create any new IANA registries.
2026-01-30
03 Darrel Miller IETF WG state changed to Submitted to IESG for Publication from In WG Last Call
2026-01-30
03 Darrel Miller IESG state changed to Publication Requested from I-D Exists
2026-01-30
03 (System) Changed action holders to Gorry Fairhurst (IESG state changed)
2026-01-30
03 Darrel Miller Document is now in IESG state Publication Requested
2026-01-30
03 Darrel Miller Changed consensus to Yes from Unknown
2026-01-30
03 Darrel Miller Intended Status changed to Best Current Practice from None
2026-01-30
03 Darrel Miller Notification list changed to darrel@tavis.ca because the document shepherd was set
2026-01-30
03 Darrel Miller Document shepherd changed to Darrel Miller
2025-11-23
03 Darrel Miller
# Document Shepherd Write-Up for draft-ietf-httpapi-privacy

**Document Shepherd:** Darrel Miller
**Date:** November 23, 2025


## Document History

### 1. Does the working group (WG) consensus …
# Document Shepherd Write-Up for draft-ietf-httpapi-privacy

**Document Shepherd:** Darrel Miller
**Date:** November 23, 2025


## Document History

### 1. Does the working group (WG) consensus represent the strong concurrence of a few individuals, with others being silent, or did it reach broad agreement?

The document reached broad agreement within the working group. The document originated from a thread in May-June 2024 titled "HTTP->HTTPS redirects bad for API traffic?" which generated discussion from multiple participants including Mike Bishop, Lucas Pardue, Ben Bucksch, Roberto Polli, and Martin Thomson before being adopted as a working group document in November 2024.

Technical discussions during development were substantive and constructive, with active participation from multiple contributors in GitHub issues including Joachim Viide (author of the motivating blog post), Marius Kleidl (document co-author), and others. Five GitHub issues tracked technical discussions, all of which were resolved with consensus. Key contributors included both document authors and external participants from companies implementing the recommendations.

Working Group Last Call was conducted from September 27 to October 11, 2025, with no objections raised. The WGLC concluded successfully on October 24, 2025, with the chair confirming that all comments received had been addressed by the authors. The document received positive engagement from prominent HTTP experts throughout its development.

### 2. Was there controversy about particular points, or were there decisions where the consensus was particularly rough?

The document had several substantive technical discussions that were ultimately resolved with consensus:

**Client HTTPS requirements (GitHub Issue #7, September 2024-June 2025):** Martin Thomson proposed that clients MUST use HTTPS exclusively, eliminating the need for HSTS and upgrade mechanisms. After discussion, the working group adopted a compromise requiring clients to implement and use HTTPS exclusively "absent a deliberate indication that an insecure context is deliberate." This balances security with practical testing scenarios while making the default secure.

**HTTP Status Code selection (GitHub Issue #3, August 2024):** Extended discussion among Mike Bishop, Rich Salz, Joachim Viide, and Marius Kleidl about which status code to recommend (403, 421, or 426). The group reached consensus on 403 (Forbidden) as it best represents "the server understood the request but refuses to fulfill it" for reasons unrelated to credential validity. The discussion also led to important guidance that servers MUST NOT validate credentials over insecure channels to avoid timing attacks and credential enumeration.

**Signature-based authentication (GitHub Issue #8, October 2024-June 2025):** Discussion about whether to revoke credentials when requests use signature-based authentication (e.g., HMAC) where the secret isn't directly transmitted. The resolution added text distinguishing between direct credential transmission and derived values, allowing servers discretion not to revoke when only signatures are exposed.

The HTTP Directorate review (July 26, 2025) by Mark Nottingham resulted in "On the Right Track" with follow-up discussion from Tim Bray, Martin Thomson, Mark Nottingham, and Roy T. Fielding on July 28-29, 2025. The Security Directorate review (August 13-14, 2025) by Christian Huitema found "Has Nits" which were addressed. The working group last call (September 27 - October 11, 2025) concluded with no objections.

### 3. Has anyone threatened an appeal or otherwise indicated extreme discontent? If so, please summarize the areas of conflict in separate email messages to the responsible Area Director. (It should be in a separate email because this questionnaire is publicly available.)

No. There have been no appeals or indications of extreme discontent throughout the document's development.

### 4. For protocol documents, are there existing implementations of the contents of the document? Have a significant number of potential implementers indicated plans to implement? Are any existing implementations reported somewhere, either in the document itself (as RFC 7942 recommends) or elsewhere (where)?

This is a Best Current Practice document providing guidance rather than a protocol specification. However, the recommendations build upon existing, widely-implemented technologies (HSTS per RFC 6797, HTTPS DNS records per RFC 9460, Cookie Secure attribute per RFC 6265, Secret Token format per RFC 8959). The document was motivated by observed real-world vulnerabilities, as documented in the mentioned blog post that identified over two dozen websites with the problematic HTTP-to-HTTPS redirect pattern for authenticated endpoints.

No specific implementation reports were submitted during the standardization process, which is typical for BCP documents that provide operational guidance rather than protocol specifications. The recommendations are intended to be adopted by API providers as part of their security practices.

## Additional Reviews

### 5. Do the contents of this document closely interact with technologies in other IETF working groups or external organizations, and would it therefore benefit from their review? Have those reviews occurred? If yes, describe which reviews took place.

This document interacts with several existing IETF specifications:
- HTTP-related work (HTTPBIS WG) - references RFC 9110 (HTTP Semantics)
- Security-related specifications (SEC area) - HSTS (RFC 6797), HTTPS DNS records (RFC 9460)
- Cookie specifications - RFC 6265
- Authentication tokens - RFC 8959

Early reviews were requested and completed:

**HTTP Directorate Review (July 25-26, 2025):**
- Reviewer: Mark Nottingham
- Result: "On the Right Track"
- Follow-up discussion with Tim Bray, Martin Thomson, Mark Nottingham, and Roy T. Fielding (July 28-29, 2025)
- Issues addressed by authors

**Security Directorate Review (August 7-14, 2025):**
- Reviewer: Christian Huitema
- Result: "Has Nits"
- Authors responded on August 14, 2025, addressing the nits identified

Both reviews were positive and issues raised were resolved.

### 6. Describe how the document meets any required formal expert review criteria, such as the MIB Doctor, YANG Doctor, media type, and URI type reviews.

No formal expert reviews are required for this document. This is a Best Current Practice document that does not define MIBs, YANG modules, media types, or URI schemes.

### 7. If the document contains a YANG module, has the final version of the module been checked with any of the recommended validation tools for syntax and formatting validation? If there are any resulting errors or warnings, what is the justification for not fixing them at this time? Does the YANG module comply with the Network Management Datastore Architecture (NMDA) as specified in RFC 8342?

Not applicable - this document does not contain a YANG module.

### 8. Describe reviews and automated checks performed to validate sections of the final version of the document written in a formal language, such as XML code, BNF rules, MIB definitions, CBOR's CDDL, etc.

Not applicable - this document does not contain formal language specifications.

## Document Shepherd Checks

### 9. Based on the shepherd's review of the document, is it their opinion that this document is needed, clearly written, complete, correctly designed, and ready to be handed off to the responsible Area Director?

Yes. This document addresses a significant and under-appreciated security vulnerability in HTTP API deployments. The automatic HTTP-to-HTTPS redirect pattern, while appropriate for web browsers, creates a credential exposure risk for authenticated API traffic. The document is clearly written with well-structured recommendations separated into server and client sections. The recommendations are practical and build upon existing, proven technologies.

The document has received positive reviews from both the HTTP Directorate and Security Directorate, with all identified issues resolved. Working group consensus was strong, with no objections during the two-week last call period. The document is ready for Area Director review and progression to IESG.

### 10. Several IETF Areas have assembled lists of common issues that their reviewers encounter. For which areas have such issues been identified and addressed? For which does this still need to happen in subsequent reviews?

The document has been reviewed for common issues in the relevant areas:

**WIT Area:** The HTTP Directorate review by Mark Nottingham (July 26, 2025) found the document "On the Right Track," indicating that HTTP-specific considerations were properly addressed.

**Security Area:** The Security Directorate review by Christian Huitema (August 14, 2025) identified minor nits which were addressed by the authors.

No additional area-specific reviews are anticipated to be needed.

### 11. What type of RFC publication is being requested on the IETF stream (Best Current Practice, Proposed Standard, Internet Standard, Informational, Experimental or Historic)? Why is this the proper type of RFC? Do all Datatracker state attributes correctly reflect this intent?

**Requested Publication Type:** Best Current Practice (BCP)

**Justification:** This document provides operational and deployment guidance for HTTP APIs rather than defining a new protocol or mechanism. It documents best practices for protecting credentials in HTTP API deployments by recommending how to properly use existing protocols (HSTS, HTTPS DNS records, Cookie Secure attribute, etc.). BCP is the appropriate document type for this guidance-focused content.

The Datatracker correctly reflects the BCP intent in the document metadata (category: bcp).

### 12. Have reasonable efforts been made to remind all authors of the intellectual property rights (IPR) disclosure obligations described in BCP 79? To the best of your knowledge, have all required disclosures been filed? If not, explain why. If yes, summarize any relevant discussion, including links to publicly-available messages when applicable.

Yes. The Working Group Last Call announcement (September 27, 2025) included the standard IPR reminder:

"Authors, and WG participants in general, are reminded again of the Intellectual Property Rights (IPR) disclosure obligations described in BCP 79. Appropriate IPR disclosures required for full conformance with the provisions of BCP 78 and BCP 79 must be filed, if you are aware of any."

A search of the IPR disclosure database shows no disclosures related to this document. All three authors have been active participants in IETF work and are familiar with IPR disclosure obligations.

### 13. Has each author, editor, and contributor shown their willingness to be listed as such? If the total number of authors and editors on the front page is greater than five, please provide a justification.

The document lists three authors:
- Rich Salz (Akamai Technologies)
- Mike Bishop (Akamai Technologies)
- Marius Kleidl (Transloadit)

All three authors have been active throughout the document's development. Rich Salz initiated the work and has been primary contact. Mike Bishop participated in the early discussions (May-September 2024) that led to document adoption. All authors participated in responding to directorate reviews in July-August 2025. The number of authors (three) is appropriate and does not require additional justification.

### 14. Document any remaining I-D nits in this document. Simply running the idnits tool is not enough; please review the "Content Guidelines" on authors.ietf.org. (Also note that the current idnits tool generates some incorrect warnings; a rewrite is underway.)

No issues were identified by running the idnits tool.

**Content Guidelines Review:**

The document has been reviewed against the IETF Content Guidelines (https://authors.ietf.org/en/content-guidelines-overview):

**Required Content - All Present and Compliant:**
- **Abstract**: Present, concise (~60 words), stands alone, explains the problem (HTTP-to-HTTPS redirects for authenticated APIs), does not contain citations
- **Status of This Memo**: Auto-generated by RFCXML tooling (v: 3)
- **Copyright Notice**: Auto-generated via ipr attribute
- **Introduction**: Present, explains motivation (credential exposure via redirects), references the motivating blog post, describes applicability to authenticated HTTP APIs
- **Security Considerations**: Substantial section appropriate for a security-focused BCP, addresses DoS risks from credential revocation recommendation
- **IANA Considerations**: Present, correctly states "This document has no IANA actions"
- **References**: Properly split into normative and informative sections, all references are stable and appropriate
- **Authors' Addresses**: Three authors listed (within the 5-author limit), includes affiliations and email addresses

**Language and Style - Compliant:**
- **BCP 14 Keywords**: Properly used with boilerplate reference, appropriate use of MUST, SHOULD, MAY with clear justifications
- **Abbreviations**: Standard abbreviations used correctly (HTTP, HTTPS, HSTS, API, TLS, MAC, VPN, DNS)
- **Not claiming RFC status**: Document correctly refers to itself as a document
- **Inclusive language**: No problematic terminology identified

**Minor Observations (Not Requiring Changes):**
- The title "API Keys and Privacy" emphasizes "keys" but the document covers all authenticated APIs. The abstract and introduction make the broader scope clear.
- Privacy Considerations section is not present as recommended by RFC 6973, but the document's focus is on credential security (preventing exposure) rather than personal data privacy, so the current structure is appropriate.

The document conforms to all required IETF content guidelines.

### 15. Should any informative references be normative or vice-versa? See the IESG Statement on Normative and Informative References.

The document's reference classification appears appropriate:

**Normative references:**
- RFC 6265 (Cookies) - normatively referenced for the Secure attribute
- RFC 6797 (HSTS) - normatively referenced for server and client requirements
- RFC 9110 (HTTP Semantics) - normatively referenced for status code definitions
- RFC 9460 (HTTPS DNS records) - normatively referenced for server and client requirements

**Informative references:**
- RFC 8959 (Secret Token) - informatively referenced as an example mechanism
- Blog post - informatively referenced as motivation for the work

All classifications are appropriate. The normative references are required for implementation of the recommendations, while the informative references provide context or examples.

### 16. List any normative references that are not freely available to anyone. Did the community have sufficient access to review any such normative references?

All normative references are freely available RFCs published by the IETF.

### 17. Are there any normative downward references (see RFC 3967 and BCP 97) that are not already listed in the DOWNREF registry? If so, list them.

There are no downward references in this document.

### 18. Are there normative references to documents that are not ready to be submitted to the IESG for publication or are otherwise in an unclear state? If so, what is the plan for their completion?

No. All normative references are published RFCs.

### 19. Will publication of this document change the status of any existing RFCs? If so, does the Datatracker metadata correctly reflect this and are those RFCs listed on the title page, in the abstract, and discussed in the introduction? If not, explain why and point to the part of the document where the relationship of this document to these other RFCs is discussed.

No. This document does not change the status of any existing RFCs. It provides best practice guidance that builds upon and references existing specifications.

### 20. Describe the document shepherd's review of the IANA considerations section, especially with regard to its consistency with the body of the document. Confirm that all aspects of the document requiring IANA assignments are associated with the appropriate reservations in IANA registries. Confirm that any referenced IANA registries have been clearly identified. Confirm that each newly created IANA registry specifies its initial contents, allocations procedures, and a reasonable name (see RFC 8126).

The IANA Considerations section correctly states: "This document has no IANA actions."

This is appropriate. The document does not define any new protocol elements, status codes, headers, or other items that would require IANA registration. It provides guidance on using existing, already-registered protocol elements.

### 21. List any new IANA registries that require Designated Expert Review for future allocations. Are the instructions to the Designated Expert clear? Please include suggestions of designated experts, if appropriate.

Not applicable - this document does not create any new IANA registries.
2025-09-27
03 Darrel Miller
Please review the document and send your comments to the HTTPAPI WG mailing list
(https://www.ietf.org/mailman/listinfo/httpapi).

When providing feedback, please indicate whether you believe …
Please review the document and send your comments to the HTTPAPI WG mailing list
(https://www.ietf.org/mailman/listinfo/httpapi).

When providing feedback, please indicate whether you believe this document is
ready for publication, or if you have concerns that need to be addressed.

**Note:** There is an open issue from the HTTPDIR review (https://datatracker.ietf.org/doc/review-ietf-httpapi-privacy-02-httpdir-early-nottingham-2025-07-26/) that calls for "a stronger requirement for encryption in general". If you have
opinions on this issue, please include them in your review.

As a reminder, this is the time to confirm that the document is technically
sound, clear, and complete. Please also check for any IPR disclosures related
to this draft: https://datatracker.ietf.org/ipr/search/?submit=draft&id=draft-ietf-httpapi-privacy

Thank you for your reviews and contributions.
2025-09-27
03 Darrel Miller Tag Awaiting Expert Review/Resolution of Issues Raised set.
2025-09-27
03 Darrel Miller IETF WG state changed to In WG Last Call from WG Document
2025-08-26
03 Rich Salz New version available: draft-ietf-httpapi-privacy-03.txt
2025-08-26
03 (System) New version approved
2025-08-26
03 (System) Request for posting confirmation emailed to previous authors: Marius Kleidl , Mike Bishop , Rich Salz
2025-08-26
03 Rich Salz Uploaded new revision
2025-08-13
02 Christian Huitema Request for Early review by SECDIR Completed: Has Nits. Reviewer: Christian Huitema. Sent review to list. Submission of review completed at an earlier date.
2025-08-13
02 Christian Huitema Request for Early review by SECDIR Completed: Has Nits. Reviewer: Christian Huitema.
2025-08-07
02 Tero Kivinen Request for Early review by SECDIR is assigned to Christian Huitema
2025-07-26
02 Mark Nottingham Request for Early review by HTTPDIR Completed: On the Right Track. Reviewer: Mark Nottingham. Sent review to list.
2025-07-25
02 Mark Nottingham Request for Early review by HTTPDIR is assigned to Mark Nottingham
2025-07-25
02 Rich Salz Requested Early review by HTTPDIR
2025-07-25
02 Rich Salz Requested Early review by SECDIR
2025-07-23
02 Mike Bishop Shepherding AD changed to Gorry Fairhurst
2025-06-25
02 Mike Bishop New version available: draft-ietf-httpapi-privacy-02.txt
2025-06-25
02 Mike Bishop New version approved
2025-06-25
02 (System) Request for posting confirmation emailed to previous authors: Marius Kleidl , Mike Bishop , Rich Salz
2025-06-25
02 Mike Bishop Uploaded new revision
2025-06-03
01 Rich Salz New version available: draft-ietf-httpapi-privacy-01.txt
2025-06-03
01 Rich Salz New version accepted (logged-in submitter: Rich Salz)
2025-06-03
01 Rich Salz Uploaded new revision
2025-05-10
00 (System) Document has expired
2024-11-06
00 Rich Salz This document now replaces draft-rsalz-httpapi-privacy instead of None
2024-11-06
00 Rich Salz New version available: draft-ietf-httpapi-privacy-00.txt
2024-11-06
00 Rich Salz WG -00 approved
2024-11-06
00 Rich Salz Set submitter to "Rich Salz ", replaces to draft-rsalz-httpapi-privacy and sent approval email to group chairs: httpapi-chairs@ietf.org
2024-11-06
00 Rich Salz Uploaded new revision