diff --git a/index.bs b/index.bs
index 4178af162..b6afc8b73 100644
--- a/index.bs
+++ b/index.bs
@@ -7580,6 +7580,61 @@ To Create a new supplemental public key record, perform t
[=set/append=] this [=supplemental public key record=] to |credentialRecord|.[$credential record/supplementalPubKeys$].
+### User verification caching extension (userVerificationCaching) ### {#sctn-user-verification-caching-extension}
+
+In some cases it is good enough for the [=[RP]=] to know whether the user was verified by the authenticator "recently".
+
+This extension allows the [=[RP]=] to specify such [=user verification=] caching time, i.e. the time for which the [=user verification=] status can be "cached" by the [=authenticator=].
+
+For example: Do not ask the user for a fresh [=user verification=] for sign-in if the user was verified by this authenticator within the past 300 seconds.
+
+: Extension identifier
+:: `userVerificationCaching`
+
+: Operation applicability
+:: [=authentication extension|authentication=]
+
+: Client extension input
+:: The maxTimeSinceLastUV denotes the maximum acceptable number of milliseconds elapsed since the last time the user was successfully verified.
+
+ partial dictionary AuthenticationExtensionsClientInputs {
+ unsigned long long maxTimeSinceLastUV;
+ };
+
+
+: Client extension processing
+:: None, except creating the [=authenticator extension input=] from the client extension input.
+
+: Client extension output
+:: Returns the number of milliseconds elapsed since the last time the user was successfully verified as returned by the [=authenticator=].
+
+ partial dictionary AuthenticationExtensionsClientOutputs {
+ unsigned long long timeSinceLastUV;
+ };
+
+
+: Authenticator extension input
+:: The maximum acceptable time in milliseconds elapsed since last user verification, encoded in CBOR.
+
+ ```
+ $$extensionInput //= (
+ mtslUV: uint .size 4
+ )
+ ```
+
+: Authenticator extension processing
+:: When user verification is requested, the [=authenticator=] triggers user verification only if more milliseconds have elapsed since the last time the user was verified than indicated by the maxTimeSinceLastUV value in the extension.
+
+: Authenticator extension output
+:: If no fresh user verification needed to be triggered triggered, the authenticator reports the time last last user verification time back to the [=[RP]=] to ensure the [=[RP]=] is aware that no fresh user verification was triggered. It is up to the authenticator to decide whether to return the real elapsed time, or a "rounded" value. If user verification was requested, this value SHALL not exceed the value originally provided in the extension input.
+
+ ```
+ $$extensionOutput //= (
+ tslUV: uint .size 4
+ )
+ ```
+
+
# User Agent Automation # {#sctn-automation}
For the purposes of user agent automation and [=web application=] testing, this document defines a number of [[WebDriver]] [=extension commands=].