Skip to content

Commit 311fafd

Browse files
committed
sms-one-time-code-format has moved to WICG.
1 parent 8756438 commit 311fafd

File tree

3 files changed

+2
-159
lines changed

3 files changed

+2
-159
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ appropriate standards bodies (such as [WICG](https://github.com/WICG)).
1010

1111
### Authentication
1212

13-
* [Delivering origin-bound one-time codes over SMS](sms-one-time-code-format/)
13+
* Moved to WICG: [Delivering origin-bound one-time codes over SMS](https://github.com/wicg/sms-one-time-codes)
1414
* [IsLoggedIn](IsLoggedIn/)
1515

1616
### Media

sms-one-time-code-format/Makefile

-25
This file was deleted.

sms-one-time-code-format/README.md

+1-133
Original file line numberDiff line numberDiff line change
@@ -1,133 +1 @@
1-
# Delivering origin-bound one-time codes over SMS
2-
3-
## Authors:
4-
5-
- [Theresa O'Connor](https://github.com/hober)
6-
7-
## Participate
8-
9-
- [Issue tracker](https://github.com/WebKit/explainers/labels/one%20time%20codes)
10-
11-
## Table of Contents
12-
13-
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
14-
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
15-
16-
17-
- [Introduction](#introduction)
18-
- [Deficiencies of the status quo](#deficiencies-of-the-status-quo)
19-
- [Goals](#goals)
20-
- [Non-goals](#non-goals)
21-
- [Proposal](#proposal)
22-
- [Extensibility](#extensibility)
23-
- [Alternative approaches](#alternative-approaches)
24-
- [No special syntax (status quo)](#no-special-syntax-status-quo)
25-
- [Stakeholder Feedback](#stakeholder-feedback)
26-
- [Acknowledgements](#acknowledgements)
27-
28-
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
29-
30-
## Introduction
31-
32-
Many websites make use of **one-time codes** for authentication.
33-
34-
SMS is a popular mechanism for delivering such codes to users, but using
35-
SMS to deliver one-time codes can be risky.
36-
37-
This proposal attempts to reduce some of the risks associated with SMS
38-
delivery of one-time codes. It does not attempt to reduce or solve all
39-
of them. For instance, it doesn't solve the SMS delivery hijacking risk,
40-
but it does attempt to reduce the phishing risk.
41-
42-
### Deficiencies of the status quo
43-
44-
Suppose a user receives the message "747723 is your FooBar
45-
authentication code." It's possible, even likely, that *747723* is a
46-
one-time code for use on *https://foobar.com*. But because there is no
47-
standard text format for SMS delivery of one-time codes, systems which
48-
want to make programmatic use of such codes must **rely on heuristics**,
49-
both **to locate the code** in the message and **to associate the code
50-
with a website**. Heuristics are prone to failure and may even be
51-
hazardous.
52-
53-
### Goals
54-
55-
The goals of this proposal are:
56-
57-
1. To eliminate the need to rely on heuristics for extraction of
58-
one-time codes from SMS. (Ideally, end users shouldn't have to
59-
manually copy-and-paste one-time codes from SMSes to their browser.)
60-
2. To reliably associate one-time codes intended for use on a specific
61-
website with that site. (One-time codes sent by a website should
62-
ideally only be entered on the actual site which sent it.)
63-
64-
### Non-goals
65-
66-
We must not expose the contents of SMS messages to websites.
67-
68-
## Proposal
69-
70-
To address this, we propose a **lightweight text format** that services
71-
may adopt for such messages. It's about as simple as it gets. It begins
72-
with (optional) human-readable text. After the human-readable text both
73-
the code and the origin appear on a single line, with sigils denoting
74-
which is which. This is the last line of the text. Here's an example:
75-
76-
747723 is your FooBar authentication code.
77-
78-
@foobar.com #747723
79-
80-
In this example, `"747723 is your FooBar authentication code."` is the
81-
human-readable **explanatory text**, `"@foobar.com"` identifies the
82-
**origin** (`https://foobar.com`) for which the code is to be used, and
83-
`"#747723"` identifies the **one-time code** (`747723`). `"@"` and `"#"`
84-
are **sigils** used to identify the text that follows them. Any origin
85-
which is [schemelessly same site][] as `https://foobar.com/` is an
86-
origin on which this code may be used.
87-
88-
[schemelessly same site]: https://html.spec.whatwg.org/multipage/origin.html#schemelessly-same-site
89-
90-
Adoption of this format would improve the reliability of systems which
91-
today heuristically extract one-time codes from SMS, with clear end-user
92-
benefit. It improves reliability of both extracting the code and also
93-
associating that code with an origin.
94-
95-
Adoption of this proposal could improve the number of services on which
96-
a browser can offer assistance with providing SMS one-time codes to
97-
websites (e.g. an AutoFill feature), and could reduce the odds users
98-
would enter one-time codes delivered over SMS on sites other than the
99-
originating one.
100-
101-
### Extensibility
102-
103-
If in the future we identify additional information to include in the
104-
payload, new syntax may be introduced after the one-time code in the
105-
last line. (N.B. future spec editor: the parser must ignore unrecognized
106-
trailing content on that line, to enable this.)
107-
108-
## Alternative approaches
109-
110-
### No special syntax (status quo)
111-
112-
We believe the status quo provides insufficient programmability (because
113-
it relies on heuristics) and, in particular, many typical SMS one-time
114-
code message formats in the wild lack reliable origin information.
115-
116-
## Stakeholder Feedback
117-
118-
- Apple / Safari / WebKit: Positive (shipped an earlier version in iOS 12 / Safari 12 for macOS)
119-
- Google / Chrome / Blink: Positive (Sam Goto and Steven Soneff gave a lot of feedback early in this work.)
120-
- Firefox / Gecko : Unknown
121-
122-
## Acknowledgements
123-
124-
Many thanks to
125-
Aaron Parecki,
126-
Eric Shepherd,
127-
Eryn Wells,
128-
Jay Mulani,
129-
Paul Knight,
130-
Ricky Mondello,
131-
Sam Goto, and
132-
Steven Soneff
133-
for their valuable insights.
1+
# [Delivering origin-bound one-time codes over SMS](https://github.com/wicg/sms-one-time-codes) has moved to WICG.

0 commit comments

Comments
 (0)