WICG / trust-token-api

Trust Token API
https://wicg.github.io/trust-token-api/
Other
419 stars 84 forks source link

Add a definition for "major version" #188

Closed miketaylr closed 1 year ago

miketaylr commented 1 year ago

And some kind of description of how to make one - is it "foov3"? Or "three"? Do you take the name of some crypto thingy and concat with an integer? Etc.

That way other browsers can implement the same versions, which developers would appreciate.

miketaylr commented 1 year ago

I just realized there is sort of a definition in place:

NOTE: pstVersion is a string identifier representing different cryptographic versions of tokens that can be used with this API. User agents should only select keys for versions they support, ordered by which versions they prefer based on performance and any user defined preferences.

Just above that in #look-up-the-key-commitments, pstVersion isn't really defined either.

I think we want to say something like For each |pstVersion| in |issuerKeys|[|version|]... do somethign?

I'm not sure if you can have multiple versions for the same origin, if not, this could probably be further simplified.

miketaylr commented 1 year ago

Ah, there's some more non-normative text that kind of defines this (I think)?

https://wicg.github.io/trust-token-api/#issuer-public-keys

`<cryptographic protocol version>` is a string identifier for the Private State Token
    protocol version used. The same string is used as a value of the inner
    `"protocol_version"` field....

@aykutbulut @dvorak42 are these all the same concepts? Or are there 2 possible version types?

aykutbulut commented 1 year ago

There are two versions.

  1. Private Token version. This is for backwards compatibility in case an issuer would like to introduce a new version for their tokens.
  2. Private State Token cryptographic protocol version. This crypto versions for Private State Tokens (a Private Token type).