Before you begin integrating Sismo Connect, you must first register a Sismo Connect app in the Sismo Factory. This step is mandatory to obtain an application Id (appId
), which is required during the Sismo Connect development process.
Why is an appId
required for Sismo Connect?
The appId
will be used to compute a vaultId, which is the unique identifier for a user on your app. The vaultId is simply the hash of a user's Vault secret and the appId.
If we remove the appId
from this simple calculation, we would have had the same vaultId for the same vaultSecret, effectively leaking information about a user that uses Sismo Connect on two different apps. The vaultId would be the same across different apps, and the user could be tracked if the vaultIds became public.
By introducing an appId
, the vaultId is now different between apps, and the same user will have two different vaultIds on two different apps, effectively preserving the user's privacy.
You can learn more about this notion in this article.
Register your Sismo Connect App in the Sismo Factory
You can register a Sismo Connect app here: https://factory.sismo.io/apps-explorer.
To create a Sismo Connect app, you need to log in with Sign-In With Ethereum and click on “Create a new Sismo Connect app”. You will need to register an app name, enter a description, and upload a logo alongside registering authorized domains. Pay attention to authorized domains, as these are the URLs where the appId
that will be created can be used for Sismo Connect.
{% hint style="info" %}
Feel free to add *.com
to authorized domains when developing in local. This will allow you to easily whitelist localhost
. Don't forget to update the authorized domains when deploying in production.
{% endhint %}
Once created, you should have all information about your app displayed in your profile:
my Sismo Connect App
The appId
displayed on your app’s profile in the Factory is its unique identifier. You will use it to request proof from your users in your app’s front end and to verify it in the back end or your smart contracts.
In this example, my appId
is 0xde1d47d45d449d7efe9242e66a05e1c1
.