You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: discovery/readme.md
+56-44
Original file line number
Diff line number
Diff line change
@@ -12,26 +12,39 @@
12
12
-[The TEA Version Index](#the-tea-version-index)
13
13
-[References](#references)
14
14
15
-
16
15
## From product identifier to API endpoint
17
16
18
17
TEA Discovery is the connection between a product identifier and the API endpoint.
18
+
A "product" is something that the customer aquires or downloads. It can be a bundle
19
+
of many digital devices or software applications. A "product" normally also has an
20
+
entry in a large corporation's asset inventory system.
21
+
19
22
A product identifier is embedded in a URN where the identifier is one of many existing
20
-
identifiers or a random string - like an EAN bar code, product
23
+
identifiers or a random string - like an EAN or UPC bar code, UUID, product
21
24
number or PURL.
22
25
23
26
The goal is for a user to add this URN to the transparency platform (sometimes with an
24
27
associated authentication token) and have the platform access the required artifacts
25
28
in a highly automated fashion.
26
29
30
+
## Advertising the TEI
31
+
32
+
The TEI for a product can be communicated to the user in many ways.
33
+
34
+
- A QR code on a box
35
+
- On the invoice or delivery note
36
+
- For software with a GUI, in an "about" box
37
+
27
38
## TEA Discovery - defining an extensible identifier
28
39
29
40
TEA discovery is the process where a user with a product identifier can discover and download
30
41
artifacts automatically, with or without authentication. A globally unique identifier is
31
42
required for a given product. This identifier is called the Transparency Exchange Identifier (TEI).
32
43
33
-
The TEI identifier is based on DNS, which assures a uniqueness per vendor (or open source project)
34
-
and gives the vendor a name space to define product identifiers based on existing or new identifiers like EAN bar code, PURLs or other existing schemes. A given product may have multiple identifiers as long as they all resolve into the same destination.
44
+
The TEI identifier is based on DNS, which assures a uniqueness per vendor (or open source project)
45
+
and gives the vendor a name space to define product identifiers based on existing or new identifiers
46
+
like EAN/UPC bar code, PURLs or other existing schemes. A given product may have multiple identifiers
47
+
as long as they all resolve into the same destination.
35
48
36
49
## The TEI URN: An extensible identifier
37
50
@@ -42,12 +55,7 @@ to global uniqueness without new registries.
42
55
The TEI can be shown in the software itself, in shipping documentation, in web pages and app stores.
43
56
TEI is unique for a product, not a version of a software. The TEI consist of three core parts
44
57
45
-
- The **`type`** which defines the syntax of the unique identifier part
46
-
- The **`domain-name`** part does not have to exist as a web server (HTTPS), but may do
47
-
- The uniqueness of the name is the domain name part that has to be registred at creation of the TEI.
48
-
- The **`unique-identifier`** has to be unique within the `domain-name`. Recommendation is to use a UUID but it can be an existing article code too
49
-
50
-
A TEI belongs to a single product. A product can have multiple TEIs - like one with a EAN
58
+
A TEI belongs to a single product. A product can have multiple TEIs - like one with a EAN/UPC
51
59
barcode and one with the vendor's product number.
52
60
53
61
### TEI syntax
@@ -56,6 +64,12 @@ barcode and one with the vendor's product number.
56
64
urn:tei:<type>:<domain-name>:<unique-identifier>
57
65
````
58
66
67
+
- The **`type`** which defines the syntax of the unique identifier part
68
+
- The **`domain-name`** part resolves into a web server, which may not be the API host.
69
+
- The uniqueness of the name is the domain name part that has to be registred at creation of the TEI.
70
+
- The **`unique-identifier`** has to be unique within the `domain-name`.
71
+
Recommendation is to use a UUID but it can be an existing article code too
72
+
59
73
**Note**: this requires a registration of the TEI URN schema with IANA - [see here](https://github.com/CycloneDX/transparency-exchange-api/issues/18)
0 commit comments