-
Notifications
You must be signed in to change notification settings - Fork 211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change the definition of device.id
#1951
base: main
Are you sure you want to change the base?
Conversation
docs/resource/device.md
Outdated
> | ||
> This attribute contains sensitive (PII) information. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, | ||
> ensure you do your own due diligence. | ||
> See [`app.installation.id`](/docs/attributes-registry/app.md#app-installation-id) as a more privacy-preserving alternative. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The markdown-link-check
step fails at this step, because this file will only be available after #1897 is merged.
cc @open-telemetry/semconv-mobile-approvers |
hm, it looks like CODEOWNERS is set up so that @open-telemetry/semconv-mobile-approvers should have been added as reviewers on this PR 🤔 UPDATE oh, my bad, they were: #1951 (comment) I guess I didn't realize (forgot?) that the group name is replaced once someone from that group reviews it |
it would be great if we can get approvals from the iOS and browser perspectives as well (if this attribute is applicable there) |
@@ -9,12 +9,25 @@ Describes device attributes. | |||
|
|||
| Attribute | Type | Description | Examples | Stability | | |||
|---|---|---|---|---| | |||
| <a id="device-id" href="#device-id">`device.id`</a> | string | A unique identifier representing the device [1] | `2ab2916d-a51f-4ac8-80ee-45ac31a28092` |  | | |||
| <a id="device-id" href="#device-id">`device.id`</a> | string | A unique identifier representing the device [1] | `123456789012345`; `01:23:45:67:89:AB` |  | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As trask requested feedback via the Client Sig this morning, for current SDK's we support the sending / population of this either as
- By default for a browser as the word "browser", so as with the "example" value of "123456789012345". "browser" is another "possible" value.
- Other internal SDK's allow the setting of this value based on any supporting hardware lookup (like when running from react-native), in which case it matches the description as specified.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@MSNev do you think the browser
value is desired? To me it doesn't really sound like an 'identifier', as it's not trying to provide uniqueness.
| [`device.manufacturer`](/docs/attributes-registry/device.md) | string | The name of the device manufacturer [2] | `Apple`; `Samsung` | `Recommended` |  | | ||
| [`device.model.identifier`](/docs/attributes-registry/device.md) | string | The model identifier for the device [3] | `iPhone3,4`; `SM-G920F` | `Recommended` |  | | ||
| [`device.model.name`](/docs/attributes-registry/device.md) | string | The marketing name for the device model [4] | `iPhone 6s Plus`; `Samsung Galaxy S6` | `Recommended` |  | | ||
| [`device.manufacturer`](/docs/attributes-registry/device.md) | string | The name of the device manufacturer [1] | `Apple`; `Samsung` | `Recommended` |  | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: As a generic "namespace" for devices, its probably also worth considering an additional device.class
which describes the type of device in a more generic form with possible values like
- Mobile
- Desktop
- Android
- Windows
- XBox
- iOS
- Browser
- etc
Although, there may be a collection of other attributes which could be used by backends to derive some of this information.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds reasonable to me, I would keep this suggestion to a separate PR though, if you don't mind.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new description sufficiently neuters device.id
and gives the appropriate warnings for commercial apps and SDKs to NOT user it, so this works for me.
Fixes #1874
Warning
This PR must be merged together with #1897 as they are highly related, dear maintainers, please add them to the same milestone.
Changes
I have given a new definition to device.id, which now truly identifies the device. It has been marked as opt-in though, as its usage is generally discouraged due to privacy implications, and should only be enabled in special cases, when it does not violate the privacy of the user.
The old definition of
device.id
is more-or-less covered by the proposedapp.installation.id
in #1897, which is recommended for general use instead of this, as it provides more privacy to the users.Merge requirement checklist
[chore]