This is the second of a four part series discussing the technology powering the WeTrust platform.

For the Overview in Part 1, click here.

For a deep dive into the Front-end and Back-end in Part 2, click here.

The WeTrust team has worked very hard to make sure our platform is secure. However, we realize that in spite of all our efforts, there is no way to make a completely secure system. Any good technology project should have features to deal with contingencies, and WeTrust is no different.

Our product includes an Escape Hatch that can be enabled by the WeTrust team, in the event of a security vulnerability which we feel threatens the funds of our users. In this scenario, we will notify all users of the platform at the same time. Each Trusted Lending Circle foreperson then has the option of locking the Trusted Lending Circle, preventing any more contributions or withdrawals from anybody in the Circle. After this point, the foreperson can withdraw all funds to their own account, and are trusted to distribute them in other ways. Forepersons can neglect to enable the escape hatch and continue as normal, but it is not recommended.

Last week, we discussed the ROSCA Smart Contract functions available in normal operation. There are 3 additional functions available when unforeseen security vulnerabilities are exposed:

enableEscapeHatch(): This function can only be called by the WeTrust team in the unexpected event that a major vulnerability in the platform is detected. The ability to enable this hatch is controlled by multiple people, with consensus of at least two out of three required to enable the hatch.

activateEscapeHatch(): Once the escape hatch has been enabled by the WeTrust team, the foreperson can activate the Escape Hatch of their Trusted Lending Circle to make sure the funds are secured. No further contributions or withdrawals (except for emergencyWithdrawal, explained below) are allowed after this.

emergencyWithdrawal(): Withdraws all the funds of the ROSCA to the caller. This can only be used by the foreperson.

We take security incredibly seriously, and will have a full security audit on the ROSCA Smart Contract before the official platform release.

When WeTrust encounters a security vulnerability, a 3 step process is put into place.

1) A member of the WeTrust technical team will enable the escape hatch by calling enableEscapeHatch(). This is an API function that is accessible only by members of the WeTrust team. WeTrust will also inform all Trusted Lending Circle forepersons that a security vulnerability has been detected in this case.

2) At this point, the forepersons of any Trusted Lending Circle has the option of activating the escape hatch by calling activateEscapeHatch() (or clicking the corresponding button in the GUI). If the foreperson chooses to activate the escape hatch, the funds in the Trusted Lending Circle Smart Contract will be locked from any bad actors. The funds will also be accessible for the foreperson to withdraw at this point. If the foreperson is willing to take on the risks of the security vulnerability and continue with the Trusted Lending Circle, he or she can simply choose to do nothing.

3) Once the escape hatch is activated by the foreperson, he or she may then access the funds with a call to emergencyWithdrawal(). The foreperson may then disburse the withdrawn funds to all participants of the Trusted Lending Circle.

This escape hatch activation and fund withdrawal process is shown in the diagram below.

To learn more about the WeTrust project, check out WeTrust!