Evo ID

Assumption #1

1 Person = 1 Phone

"Один телефон = одна личность = один evoid" (c)

Assumption #1

- people use different phone numbers while its the same person (still one phone per person at a time, but more than one within some time span)

- people use more than one phone number at a time (more than one phone at any time)

Person
id (evoID)

phone

Alias
evoID

external_id

project

Alias
evoID

external_id

project

Alias
evoID

external_id

project

...

User changes Phone

  • new EvoID each time
  • no preservation of old EvoID
  • all links by EvoID are broken
  • no phone change history

User has more than one phone

  • no way to create any sort of link between them
  • no payment methods reuse
  • no delivery addresses reuse
  • no cross login
  • Person.ID as EvoID is really confusing
  • Most of the platforms do not care about "profile" and "aliases", they care about EvoID and relation to local id and phone

Additionally

Assumption #2

1 Person = N Phone(s)

  • allow platforms to change phone related to EvoID
  • allow for one EvoID to be tied to more than one phone
  • "tie" different EvoIDs with same phone

New Features

Change to phone number which already tied to existing EvoID?

evo_id
evo_id

profile_id

Alias

  • evo_id
  • external_id
  • project
  • device_id
  • phone

...

evo_id
evo_id

profile_id

...

Alias

  • evo_id
  • external_id
  • project
  • device_id
  • phone

...

Profile

primary_phone

[]phones

email

addresses

score

...

Nothing changes for platform (except one thing)

  • still issuing EvoID
  • still operating with relation EvoID phone/platform_id
  • still can learn platform_id by platform and EvoID/phone
  • still can learn EvoID by phone and platform
  • no new EvoID on phone change - "updatePhone"

Platform Independent Services (EvoPay, Octopus etc)

  • allow to learn about all aliases/EvoIDs tied to some EvoID
  • provide knowledge of verification status for given phone/alias (additional verification is still service's responsibility)
  • possibility to get profile related information - score/karma/etc (future)

Assumption #3

N Person(s) = N Phone(s)

Technically Possible

  • One phone used by more than one person
  • Not at the same time though
  • There is nothing atm that restricts to do like that on prom.ua/kabanchik/rozetka etc.
  • phone is no longer unique identifier so we'll need another factor
  • no actual (100% correct) way to determine that those are different people using same phone
  • logical connection makes sense (kinda)

Why we won't support it

Except

phone number can be issued to new person by mobile operator

What are we going to do?

  • EvoID is about relation
  • additional phone verification in sensitive services (evoPay, auth etc)
  • scheduled phone verification to cover case with phone number transfer by mobile operator
  • manual conflict resolve on profile aggregation step

Evo ID

By Andrii Ursulenko

Evo ID

  • 316