Draft: draft-ietf-gnap-core-protocol

Commentary: I attempted to rephrase all occurrences of the redundant " GNAP protocol " in a way that made sense . Most of the time it was changing " the GNAP protocol " to just " GNAP " , but there are a few cases where it sounded weird and required some more context .
Paragraph (version A):
The process by which the delegation happens is known as a grant, and
the GNAP protocol allows for the negotiation of the grant process
over time by multiple parties acting in distinct roles.
Paragraph (version B):
The process by which the delegation happens is known as a grant, and
GNAP allows for the negotiation of the grant process over time by
multiple parties acting in distinct roles.
Paragraph (version A):
The parties in the GNAP protocol perform actions under different
roles.  Roles are defined by the actions taken and the expectations
leveraged on the role by the overall protocol.
Paragraph (version B):
The parties in GNAP perform actions under different roles.  Roles are
defined by the actions taken and the expectations leveraged on the
role by the overall protocol.
Paragraph (version A):
The GNAP protocol design does not assume any one deployment
architecture, but instead attempts to define roles that can be
fulfilled in a number of different ways for different use cases.  As
long as a given role fulfills all of its obligations and behaviors as
defined by the protocol, GNAP does not make additional requirements
on its structure or setup.
Paragraph (version B):
The design of GNAP does not assume any one deployment architecture,
but instead attempts to define roles that can be fulfilled in a
number of different ways for different use cases.  As long as a given
role fulfills all of its obligations and behaviors as defined by the
protocol, GNAP does not make additional requirements on its structure
or setup.
Paragraph (version A):
The GNAP protocol can be used in a variety of ways to allow the core
delegation process to take place.  Many portions of this process are
conditionally present depending on the context of the deployments,
and not every step in this overview will happen in all circumstances.
Paragraph (version B):
GNAP can be used in a variety of ways to allow the core delegation
process to take place.  Many portions of this process are
conditionally present depending on the context of the deployments,
and not every step in this overview will happen in all circumstances.
Paragraph (version A):
The following sections and examples contain specific guidance on how
to use the GNAP protocol in different situations and deployments.
Paragraph (version B):
The following sections and examples contain specific guidance on how
to use GNAP in different situations and deployments.
Paragraph (version A):
When used in the GNAP delegation protocol, these key binding
mechanisms allow the AS to ensure that the keys presented by the RC
in the initial request are in control of the party calling any
follow-up or continuation requests.  To facilitate this requirement,
all keys in the initial request request-key MUST be proved in all
continuation requests continue-request and token management requests
token-management, modulo any rotations on those keys over time that
the AS knows about.  The AS MUST validate all keys request-key or
referenced in an ongoing request for each call within that request.
Paragraph (version B):
When used for delegation in GNAP, these key binding mechanisms allow
the AS to ensure that the keys presented by the RC in the initial
request are in control of the party calling any follow-up or
continuation requests.  To facilitate this requirement, all keys in
the initial request request-key MUST be proved in all continuation
requests continue-request and token management requests token-
management, modulo any rotations on those keys over time that the AS
knows about.  The AS MUST validate all keys request-key or referenced
in an ongoing request for each call within that request.