Draft: draft-ietf-rtcweb-mdns-ice-candidates

Commentary: Fingerprinting question will be tracked in a new issue . 
 Merging this one with  's approval . 
 LGTM
Paragraph (version A):
If there is a registered hostname, replace the IP address of the
ICE host candidate with the hostname.  Expose the candidate and
abort these steps.
Paragraph (version A):
Replace the IP address of the ICE host candidate with its mDNS
hostname.  Expose the candidate.
Paragraph (version A):
An implementation may for instance pre-register mDNS hostnames by
executing steps 3 to 5 and prepopulate an ICE agent accordingly.  By
doing so, only steps 1 and 2 of the above procedure will be executed
at the time of gathering candidates.
Paragraph (version A):
An implementation may also detect that mDNS is not supported by the
available network interfaces.  The ICE agent may skip step 3 and 4
and directly decide to not expose the host candidate.
Paragraph (version A):
This procedure ensures that a mDNS name is used to replace only one
IP address.  Specifically an ICE agent using an interface with both
IPv4 and IPv6 addresses MUST expose a different mDNS name for each
address.
Paragraph (version B):
Replace the IP address of the ICE host candidate with its mDNS
hostname, and expose the candidate as usual.
Paragraph (version B):
An implementation may for instance pre-register mDNS hostnames by
executing steps 3 to 5 and prepopulate an ICE agent accordingly.  By
doing so, only step 6 of the above procedure will be executed at the
time of gathering candidates.
Paragraph (version B):
An implementation may also detect that mDNS is not supported by the
available network interfaces.  The ICE agent may skip steps 2 and 3
and directly decide to not expose the host candidate.
Paragraph (version B):
This procedure ensures that a mDNS name is used to replace only one
IP address.  Specifically, an ICE agent using an interface with both
IPv4 and IPv6 addresses MUST expose a different mDNS name for each
address.
Paragraph (version A):
It is important that use of registered mDNS hostnames is limited in
time and/or scope.  Indefinitely reusing the same mDNS hostname
candidate would provide applications an even more reliable tracking
mechanism than the private IP addresses that this specification is
designed to hide.  The use of registered mDNS hostnames SHOULD be
scoped by origin, and have the lifetime of the page.
Paragraph (version A):
If the generated mDNS hostname candidate does not follow the pattern
described, the exposed candidate might be used for fingerprinting.
Paragraph (version A):
If there are multiple host candidates with different IP addresses,
IPv4 and/or IPv6, each results in a separate mDNS hostname candidate.
The number of mDNS hostname candidates can provide a fingerprinting
dimension.  If so desired an ICE agent MAY expose additional mDNS
hostname candidates that are not registered.
Paragraph (version B):
It is important that use of registered mDNS hostnames is limited in
time and/or scope.  Indefinitely reusing the same mDNS hostname
candidate would provide applications an even more reliable tracking
mechanism than the private IP addresses that this specification is
designed to hide.  The use of registered mDNS hostnames SHOULD be
scoped by origin, and SHOULD have the lifetime of the page.