Technical Assessment

To minimize impact to the existing codebase, we will only be replacing two components in the current setup:

New Component

Previous Component (To be replaced)

Description

SaFi IAM SDK

VIDA SDK

This will replicate VIDA SDKs functionalities especially key generation and registration

IAM Manager + IAM DB

VIDA BE

This will replicate VIDA BE’s functionalities especially as repository of the public keys

DB Design

The revised sequence diagram below illustrates the minor changes in the flow notably the interactions with the new components. New flows are highlighted in orange.

Key Registration

Request Signing and Verification

All of the flows below are new but follows the same pattern as the current one implemented for VIDA.

IAM SDK (Mobile)

https://sequencediagram.org/index.html?presentationMode=readOnly#initialData=C4S2BsFMAICIEkCCBZaBlAIgaVgKFwA4CGATqAMYjEB2wA5iQPYCuB0AxADIh0AWwAcRKRI1OIgIE80aMTIhKNYOMmxoRAM7rJuGXIpUitBizZce-AELhmMeNQ0gAJnZTpsumbNIGlcJKiYOOpaIEQAtgD6Gk4A1p56PgqGtHBokOTMwujAjCREdJBqmtAaGVmQ0bn5hQne8opGyrAAwiQAngS50FiQ7cVa5B1djJGxfXX6yX6wliCM4ZDAJAoD0ABG84vLCp6iTrj7hEmNqQhuyEYFkCRrYVHhV4Uk+AC8rxiQAG4KMABKkDoIA0yyIoEY1HeuCI5FAXzBMCIOiRBAAtAA+e7ROIALmgwiBIJuAAohpAXLQwuB4E4ADTeDQaADueScAEp8DC4QjoFiYrFoLg+XEMUNOrkxn08QJRDceWgQFBUr12tAAApEEAvLkgeHAGBikaS9pCiLY2Ki4YS8btaWy-L69XCMrUcgwFXqzUvQ3WvqojHC2J4hVK5QejVa3A+0Y2-2Ys38vFq52iN09PqeyMuHV6g1WmMTU1RfmW8UF23oHhiYiMlkkJzQJlgXhOyAutMq6Gw3U86PGqP541xwPBqvkz211m4bPd3PQPs2-CBgNmx7Ua4kJMAeTQABVoAB6AjMdbgBSom1aUnCCmgIjUunqk9n8iV0Pp9r0tXPhSt9vuvoORzHksTXDci0iMDnmHBNcWgAENAICEymnSBgMdUCnhuTlwGUAAxTUoAOGRlwxFE8V3XgmCZeDAWBUFwTEAjFXJTwZ25DDYPiI4uw4mBAwgkt0TKTJhCqPJrmDao83JUQ73ADReJ7R0RIqcSakgXBVLEkEJMKGDizgtpZMpe8cjyVj2OUmBtMqXSNKXLi43I-E6KJG9UPQ-iuM82ceRRN5XhDOTKzoSFXiUucApRFdDKDUoWNoBUwuJYh2nARgiHZSKQJ85dhPKHTqkk1ysvnG85KpRSvNKQq7OK2pbPU64DPNPEyVvKrfL42rRPqvTNPykdoEKZRgtoTtBJFdEFylBKUvG4AVXpNKMqyoC-MdWaTW21rE3m6hx1WzKDisudtscuLnMkPFHDC8kNXSk7uus3kfLO-ydFwd5kzbVMYGS8KcsdaLJFitqCBTV1IEB1LNGZVkAH4VqIJ71uB7y4pw5QawR+t3moZhwHATx8qa+yStG3kNDmBYlhWcgAUJZZWJkGryYazSZA5ga9rg4Fae2BmmfojyZA+lS6ua2o2dw6nBfphQRfc8d3mgAAze8UK8N6rrIm7oGAKjGCZLQFZ2V8ADlGGUZX9TFrwJcx806id7QCD2ahiM8GqArZzbnf5UmnPRTY6YtvEvhuEB1ZNf2erDoXdhkRPFfIPn4udIngDYtCA42LY059uWs7ltXNZY4ivFI9EXMo6izcLi3mKI12856gSdbdv3oB4+PXs79R857smpYpwo8WEMqOsqrWffznmHO5sfOYz9qKtMhTc-ZleBuDq74zivEqd+-9OxIkPttuqtiVP-7lu8NHsv787B0XGRdvB-a7sOhtjqy7e+cLoXz1rXA2P8HqozWlXN2g9u46B4r7ZE+cBKjz6tLSAk80INhnpvaqC9d4OUXi1L+cFcHyUUm7YhtQhpcWPksP898Jj5SvtAKOKxY63yhm6B+ECnAaknPWFGgjso1Qup-Q+bU2HR1jghbOL1X5ln7NCOW7CY7tDkbhd4msFKDScvrAgeIjbUWgPYeEZ4GwCLxqdduA93q2Kiggr2nJh7II7nlS+b85o-y4X9aGD9-6iKAV4naIS14HSOlA56bsLo1xcnwx60CFG5SxvAj2uAgA

IAM SDK will depend on: