Developer Terms and Conditions
Last Updated: [25 June 2021]
Thank you for using Affinidi’s developer services.
Affinidi believes in building an ecosystem for the issuance, storage, and sharing of verifiable credentials (“VCs”). To facilitate this, Affinidi provides the following APIs, developer tools, and related documentation for developers to leverage:
a. Application Programming Interfaces (“API”s): The list of available APIs is accessible at https://www.affinidi.com/api. You may leverage the APIs to develop applications that permit the issuance, verification, storage, retrieval, sharing, and deletion of VCs.
b. Software Development Kits (“SDK”): The SDK provides a common logic for account registration and management, VC issuance and verification, and more. For more details please refer to https://github.com/affinityproject/affinidi-core-sdk/tree/master/sdk/core.
c. Verifiable Credential Management Developer Services (“VCM Developer Services”): The VCM Developer Services comprise of (1) the cloud wallet, which allows your end-users to store the keys to their VCs safely; and (2) the encrypted data vault, which is a storage solution for your end-users’ VCs.
(collectively, the “Developer Services”, each a “Developer Service”).
We may from time to time provide additional Developer Services. Your access to and use of such Developer Services shall be in accordance with the Terms.
The Terms govern your relationship with us and your access to and use of our Developer Services. Accordingly, please read all Terms carefully.
You must access and use the Developer Services in accordance with the Terms. We may revoke or suspend your access to or use of the Developer Services if we believe that you are not complying with the Terms, or that your application enables third parties or your end users to violate the Terms.
We may from time to time modify any or all of the Terms. If we do so, we will post the updated version of the Terms on our website (https://www.affinidi.com). We strongly encourage you to regularly review the Terms.
If you do not agree to the Terms, please stop using the Developer Services. By using the Developer Services, you are deemed to have accepted the whole, and not part of, the Terms.
Under the Terms, "Affinidi" means Affinidi Pte. Ltd., a company incorporated in Singapore (Company Registration No. 202009233R) and having its registered address at 83 Clemenceau Avenue #02-01, Singapore 239920. All references to “we” ,“us”, “our” are references to Affinidi.
1. Accepting the Terms
1.1. In order to use the Developer Services, you must first agree to these Terms. By clicking accept, and/or using any of the Developer Services, you hereby agree to the Terms.
1.2. You may not access or use the Developer Services or accept the Terms if:
a. you are not able to form a binding contract with Affinidi, because you are not of legal age (if you are a natural person) or you have not obtained the necessary corporate and/or regulatory approvals to use the Developer Services (if you are a corporate entity); or
b. you are a person barred from using or receiving the Developer Services under the applicable laws of the country in which you are resident or from which you access use the Developer Services.
1.3. If you are accessing and using the Developer Services on behalf of a corporate entity, you represent and warrant that you have the authority to bind that corporate entity, and its authorised representatives, agents, employees, contractors, and directors, to the Terms. By accepting the Terms, you are doing so on behalf of that corporate entity, and all references to “you” in these Terms shall refer to that corporate entity.
2. License from Affinidi
2.1. Some of our Developer Services are offered under an open-source licence (commonly, the Apache License version 2.0, which is accessible at https://www.apache.org/licenses/LICENSE-2.0). Where applicable, the open-source licence sets forth your agreement with Affinidi for the Developer Service. If there is any conflict between the Terms and the open-source licence, the open-source licence prevails with respect to the applicable Developer Service.
2.2. You acknowledge that some Developer Services may be built on software developed or provided by third parties and not by us (“Third-Party Material”). Third-Party Materials that we may provide through the Developer Services are subject to the Terms, and may also be subject to a third party licence. If there is any conflict between the Terms and that separate third party licence, the separate third party licence shall prevail with respect to the Third-Party Material.
3. Registration and Developer Credentials
3.1. You may be required to provide certain information (e.g. name and/or contact details) (“Developer Details”) for registration prior to obtaining access to Developer Services. You may register in your personal capacity, or as the employee/ authorised representative of your company. Subject to the aforesaid, you shall not register for our Developer Services on behalf of any third party. You agree that the Developer Details provided by you will always be accurate and up to date, that we are able to contact you using the Developer Details, and that you will promptly inform us of any changes to such information.
3.2. Affinidi may assign credentials and other details (“Developer Credentials”) to you to facilitate your access to and use of the Developer Services. Your Developer Credentials are subject to the Confidentiality obligations under the Terms.
3.3. You shall use your Developer Credentials to access and use the Developer Services, and you will not misrepresent or mask your identity when using the Developer Services.
4. Your Use of the Developer Services
4.1. Permitted Purposes
4.1.1. You agree to use the Developer Services solely for the purposes permitted in the Terms. You may use the Developer Services to design and develop applications which allow for the issuance, verification, transmission, sharing, and storage of VCs.
4.1.2. You are solely responsible for (and Affinidi has no responsibility to you or to any third party for) any content, data, or resources that you create, transmit or display in your application through the use of the Developer Services, and for the consequences resulting therefrom (including any loss or damage which Affinidi may suffer). You are solely responsible for your breach of the Terms, any applicable third party license or terms, or any applicable law or regulation, and for the consequences resulting therefrom (including any loss or damage which Affinidi may suffer).
4.2. Restrictions on Use
You shall not (and not knowingly enable your end-users to) access or use the Developer Services or Third Party Materials in a manner that is not permitted by the Terms or a manner that is unlawful, fraudulent, unlawful, deceptive, abusive or unethical, including but not limited to:
a. accessing or using the Developer Services and Third Party Materials in a manner that breaches the Terms or violates any right of any person, including intellectual property rights, and rights of privacy;
b. violating or attempting to violate any applicable law, statute, ordinance or regulation;
c. infringing or attempting to infringe on Affinidi’s or any third party’s copyright, patent, trademark, trade secret or other intellectual property rights;
d. interfering or attempting to interfere with the proper working of the Developer Services or Third Party Materials or otherwise doing anything that imposes an unreasonable or disproportionately large load on our services or systems;
e. obtaining or attempting to obtain access to or interfere with our programs, software or data, or the programs, software or data of any other third party who uses the Platform;
f. directly or indirectly accessing, storing, uploading, distributing or transmitting any viruses, Trojan horses, worms, software bombs or any other malware, any malicious communications or anything offensive, defamatory, infringing of the rights of others or unlawful, or allow any other person to do so;
g. modifying, adapting, altering, disassembling, dissecting, decompiling, decrypting, reverse engineering or otherwise attempting to derive the source code or structure of the Developer Services or any component thereof; and
h. creating or attempting to create a tool that functions substantially the same as any Developer Service, and offering it for use by third parties or otherwise licensing, sublicensing, selling, reselling, renting, leasing, transferring, adapting, assigning, distributing, displaying, disclosing, reproducing, repackaging, rebranding, posting, communicating, using, creative derivative works of, or otherwise commercially exploiting the Developer Services or any component thereof without our prior written permission.
4.3. Using the Developer Services to Run Third Party Applications
4.3.1. If you use the Developer Services to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Affinidi is not responsible for those applications, data, content, or resources.
4.3.2. You are solely responsible for (and Affinidi has no responsibility to you or to any third party for) any content, data, or resources that you create, transmit or display in your application through the use of the third party applications, data, content or resources, and for the consequences resulting therefrom (including any loss or damage which Affinidi may suffer). You are solely responsible for your breach of any applicable third party contract in relation to your use of the third party applications, data, content, or resources, or any applicable law or regulation, and for the consequences resulting therefrom (including any loss or damage which Affinidi may suffer).
5. Restriction of Access to or Use of the Developer Services
5.1. We may, in our sole discretion and without prior notice to you, deny or restrict access to or use of the Developer Services temporarily or permanently. Without limiting the generality of the foregoing, we may do so if we determine in our sole discretion that there are indications of misuse, unlawful or unethical use of our Developer Services or a breach of or failure to comply with the Terms.
5.2. We may at any time request information from you to ensure compliance with the Terms. You agree to promptly provide us with the requested information. Failure to provide the requested information or a satisfactory response may result in us denying or restricting your access to or use of the Developer Services.
5.3. Separately, we may at any time impose limits on your use of the Developer Services, such as limiting the number of API requests that you may make within a given duration. Use of the Developer Services beyond such limits shall be subject to our express written consent and we reserve to decline your request or to impose conditions for giving such consent (for example, agreement on additional terms and/or fees for such use). Please contact email@example.com for more information on the approval process.
5.4. You agree to, and will not attempt to circumvent any such denials, restrictions or limitations.
6. Changes to the Developer Services
You agree that the Developer Services may change without prior notice to you and that such changes may be incompatible with applications developed by you based on previous versions of the Developer Services. You agree that we shall not be liable for any matter in connection with such changes. We will, however, use reasonable efforts to inform you of such changes.
7. Data Protection
7.1. Data Region
We provide the Developer Services from Singapore and our servers are located in Singapore. You agree that any data that you provide to us may be collected, processed, stored, and transferred to us, in Singapore, in compliance with the applicable data protection laws.
7.2. Our Collection, Use and Disclosure of Data
7.2.1. We collect, use and disclose Your Personal Data and Your End Users’ Personal Data (as defined below) for the purpose of providing you with the relevant Developer Services under these Terms.
7.2.2. We will not disclose Your Personal Data or Your End Users’ Personal Data to third parties except with your consent or as set out in these Terms and as necessary to comply with applicable laws or legal processes, or to establish, exercise, or defend our legal rights.
7.2.3. Separately, we may collect metadata regarding your or your end users’ access to and use of the Developer Services to help us improve our Developer Services. The types of metadata that we may collect include usage statistics about the relevant Developer Service, information on which components of the Developer Services are being used and how they are being used, information about the number of VCs that have been issued, stored, transmitted or verified through the Developer Services, and the location of persons using or accessing the Developer Services.
7.3. Your Personal Data
7.3.1. “Your Personal Data” means information that may directly or indirectly identify you, including your Developer Details or other identifiers.
7.3.2. To the extent that our processing of your personal data is subject to the applicable laws (including, but not limited to, the European Union’s General Data Protection Regulation), we are required to notify you of the legal basis on which we process such personal data. We do so on the following basis:
a. Contract performance: We may collect and use your personal data (including your Developer Details provided to us during registration) to provide you with the relevant Developer Services under these Terms.
b. Consent: We rely on your consent to use your personal data when you request access to, access, or use any of the Developer Services. You may withdraw your consent at any time by ceasing to use the Developer Services. If you wish to request deletion of your personal information that we process on this basis, please contact us at firstname.lastname@example.org.
7.4. Your End-Users’ Personal Data
7.4.1. Affinidi takes data protection seriously. We may suspend access to or use of the Developer Services by you without notice if we reasonably believe that you are in violation of the Terms.
7.4.2. Your “End Users’ Personal Data” means information that may directly or indirectly identify your end user.
7.4.3. You agree that in relation to any personal data of your end users which you disclose to us or which you require us to collect, process, use and/or disclose on your behalf in connection with your use of our Developer Services:
a. we are your data processor (as defined in Regulation (EU) 2016/679 (General Data Protection Regulation) (“GDPR”) and the GDPR specific clauses in clause 7.5 apply) or data intermediary (as defined in the Singapore Personal Data Protection Act 2012) as applicable, processing such information on your behalf; and
b. you represent, warrant and undertake to us that you have obtained (and will continue to maintain) all necessary consents to the collection, use, disclosure, processing and transfer of such information by us. In this clause, “transfer” refers to the transfer of personal data to locations outside of Singapore for the purposes of data processing, storage, back-up and disaster recovery.
7.4.4. You shall comply with all applicable data protection and privacy laws and regulations pertaining to the collection, use, transfer, storage, processing and disclosure of your End Users’ Personal Data and you will not cause us to be in breach of such laws.
7.4.5. Where necessary, you will:
a. provide legally adequate privacy notices and obtain your end users valid consent for the collection, use, transfer, storage, processing or disclosure of their personal information or sensitive information to third parties (including Affinidi);
c. You agree to use commercially reasonable efforts to protect your end users’ personal information and sensitive information, from unauthorised access, collection, use, transfer, processing, and disclosure. You shall promptly notify your end users of any such breach to the extent required by applicable law.
7.5. GDPR-Specific Clauses
To the extent that the GDPR applies to our processing of your End Users’ Personal Data (as defined in clause 7.4), you agree to the Controller-Processor terms below:
a. Purpose Limitation: We will process your End Users’ Personal Data based on your authorised usage of the Developer Services in accordance with the Terms.
b. Transparency: Upon your end user’s request, you shall make a copy of these Terms available to your end users free of charge or otherwise provide a meaningful summary where your end user would not otherwise be able to understand its content or exercise his/her rights.
c. Accuracy: You shall ensure that your End Users’ Personal Data is accurate and up to date.
d. Duration of Processing and Erasure or Return of Data: We will only process Your End Users’ Personal Data for such time as required to provide the Developer Services to you. After such time, you may request deletion or return of the personal data processed on your behalf. Notwithstanding the foregoing, we reserve the right to retain such personal data as is necessary to comply with applicable laws and regulations.
e. Security of Processing: You agree to implement appropriate technical and organisational measures to ensure the security of the data, including protection against a breach of security leading to accidental or unlawful destruction, loss, alteration, unauthorised disclosure or access to that data (hereinafter “Personal Data Breach”). In particular, you should ensure that the data is suitably encrypted or pseudonymised during transmission, where the purpose of processing can be fulfilled in that manner. If requested, you will cooperate with us to ensure that appropriate technical and organisational measures are implemented to prevent the occurrence of Personal Data Breaches.
f. Data Breach: In the event of a Personal Data Breach concerning personal data processed by us under this clause 7.5, we will take appropriate measures to address the breach, including measures to mitigate its adverse effects. We will also promptly notify you after having become aware of the breach where possible, including by reference to your Developer Details, and provide you with reasonable assistance to you in order for you to comply with your GDPR obligations (if any).
g. Disclosure to Third Parties: We will disclose personal data to third parties only if you have consented to such disclosure or if we are otherwise required or permitted by law. If we are required by law to provide such disclosure, we will, to the extent permitted, inform you of the basis of the request and the response provided.
h. Sub-processors: You agree that we may from time to time and at our sole discretion appoint sub-processors to carry out processing activities on your behalf.
i. Data subject rights: We will inform you if we receive any request from your end user regarding their rights under the GDPR, and will provide you with reasonable assistance to fulfil your GDPR obligations regarding such requests.
j. Contact Details: We will promptly and adequately deal with enquiries from you that relate to our processing of personal data under this clause 7.5. Enquiries may be sent to email@example.com.
8. No Exclusivity
You agree that the Developer Services are not exclusive to you and we are entitled to offer the Developer Services to third parties on such terms as we deem fit.
9. Intellectual Property
9.1. Affinidi agrees that it obtains no right, title or interest (including intellectual property rights) from you under the Terms in relation to any software applications that you develop using the Developer Services. Without prejudice to the foregoing and subject to your rights under the applicable open-source licence, you acknowledge and agree that all rights, title and interest (including intellectual property rights) in the Developer Services (including any documentation made available to you and any modifications or derivative works associated thereto), and our trademarks, names and logos, processes, know-how, data, documents and any other materials created or provided by us or obtained from us (“Affinidi IP”) belong exclusively to us. The Affinidi IP shall not be reproduced, modified, adapted, distributed, published, translated, altered, displayed, uploaded, broadcast, transmitted or hyperlinked in any manner and in any form without our prior written approval. You shall not challenge the validity or our ownership of or right to the Affinidi IP. Except for the rights granted to you under the Terms, you shall have no other rights, title or interest in the Affinidi IP.
9.2. If you use the Developer Services (including the APIs) to retrieve information from Affinidi, you acknowledge that the information may be protected by Affinidi IP or the intellectual property rights of third parties. You shall not (and will not permit your end users or others acting on your behalf to), use the information retrieved from the Developer Services in a manner that infringes on Affinidi IP or third party intellectual property rights, or in violation of the Terms, or in a manner that is unlawful, fraudulent, unlawful, deceptive, abusive or unethical.
a. Scrape, build databases, or otherwise create permanent copies of such content, or keep cached copies longer than permitted by the cache header;
b. Copy, translate, modify, create a derivative work of, sell, lease, lend, convey, distribute, publicly display, or sublicense to any third party;
c. Misrepresent the source or ownership; or
d. Remove, obscure, or alter any copyright, trademark, or other proprietary rights notices; or falsify or delete any author attributions, legal notices, or other labels of the origin or source of material.
9.3. Information Submitted Via The Developer Services
Some of our Developer Services permit you to submit information to us. You agree to grant us a non-exclusive, transferable, irrevocable, sub-licensable, royalty-free, worldwide licence to use, reproduce, distribute, create derivative works of, display and perform the submitted information that you upload, submit, store, send or receive through the Developer Services. Before you submit the information to our Developer Services, you must ensure that you have the necessary rights to grant us such a licence.
10. Use of Brand Features and Publicity
10.1. You agree to not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Developer Services.
10.2. You agree to display any attribution required by Affinidi as described in the applicable open-source licence. Affinidi hereby grants to you a non-transferable, non-sublicensable, non-exclusive license while the Terms are in force to display Affinidi’s trade names, trademarks, service marks, logos, domain names, or other distinctive brand features (“Brand Features”) for the sole purpose of promoting or advertising that you use the Developer Services. You must only use the Brand Features for the purpose of fulfilling your obligations under this Clause 10.
10.3. Unless otherwise stated in the applicable open-source licence, attribution shall be in the form of a prominent notice stating that: “This product or application includes software developed by Affinidi Pte Ltd” or such other attribution as may be approved by us. You understand and agree that we have the sole discretion to determine whether your attribution is sufficient and whether your use of our Brand Features are in accordance with the requirements.
10.4. You shall not make any suggestion that your use of the Developer Services is in any way a partnership with, sponsored by, or endorsed by us, without our prior written consent.
10.5. You acknowledge and agree that we may, for marketing or promotional purposes, produce and distribute depictions of your (or your end users’) use of the Developer Services, including screenshots of your application, your company or product names and logos. You grant us all necessary rights for the said purposes.
11. Confidential Information
11.1. You acknowledge and agree that you are solely responsible for maintaining the confidentiality of your Developer Credentials (such as usernames, passwords, and keys), and you will be solely responsible for all applications that are developed using your Developer Credentials.
11.2. You shall, at all times, keep confidential all information provided by us or on our behalf that is marked or is by its nature confidential or proprietary (“Confidential Information”). You shall not disclose or permit to be disclosed the Confidential Information to any third party without our prior written consent. You shall not use the Confidential Information other than for purposes sanctioned by us or allowed under the Terms. You may permit your employees to have access to the Confidential Information, but only on a need-to-know basis. You undertake to ensure that these employees are made aware of the confidential nature of the information and are similarly bound to keep it confidential. You shall promptly inform us about any unauthorized disclosure or use of the Confidential Information. These obligations of confidentiality do not apply to information that is publicly available, already in your possession without confidentiality restrictions or required to be disclosed by order of a court or the relevant governmental authorities.
Affinidi does not guarantee support relating to the use of the Developer Services. However, you may contact us via our Discord Community Platform if you have any queries.
13.1. The Terms will continue to apply until terminated by you or Affinidi as set forth below.
13.2. You may terminate the Terms by ceasing your use of the Developer Services and any relevant developer credentials.
13.3. Affinidi may, at any time and for any reason, terminate the Terms with you or discontinue the Developer Services or any portion or feature of your access thereto without liability or obligation to you.
13.4. Upon termination of the Terms or discontinuation of your access to the Developer Services, you shall immediately cease using the Developer Services and delete all Confidential Information. All of the rights, obligations and liabilities that you and Affinidi have benefited from, are subject to or which have accrued whilst the Terms have been in force) shall be unaffected by the termination, and all Terms which by their nature are intended to continue indefinitely will continue to apply, including but not limited to: Clause 9, Clause 10, Clause 11, Clause 15, Clause 16, Clause 17.
14. Disclaimer of Warranties
THE DEVELOPER SERVICES AND THIRD PARTY MATERIALS ARE PROVIDED ON AN “AS IS” AND “AS AVAILABLE” BASIS WITH NO WARRANTIES WHATSOEVER. TO THE EXTENT PERMITTED BY LAW, WE DISCLAIM ALL REPRESENTATIONS, CONDITIONS AND WARRANTIES OF ANY KIND, WHETHER EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, IN RELATION TO THE DEVELOPER SERVICES, AND THIRD PARTY MATERIALS INCLUDING WITHOUT LIMITATION TO ALL CONDITIONS AND WARRANTIES OF SATISFACTORY QUALITY, ACCURACY, COMPLETENESS, CORRECTNESS, CURRENCY, TIMELINESS, RELIABILITY, AVAILABILITY, TITLE, QUALITY, MERCHANTABILITY, INTEROPERABILITY, SECURITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT OR THAT THE DEVELOPER SERVICES OR THIRD PARTY MATERIALS OR ANY FUNCTIONS ASSOCIATED THEREWITH WILL BE WITHOUT FAILURE, DELAY, INTERRUPTION, VIRUSES (OR OTHER MALICIOUS OR CORRUPTING CODE OR PROGRAMS) OR ERROR. WE DO NOT MAKE ANY SPECIFIC PROMISES ABOUT THE DEVELOPER SERVICES AND THIRD PARTY MATERIALS, THE SPECIFIC FUNCTIONS OF THE DEVELOPER SERVICES AND THIRD PARTY MATERIALS, OR ANY CONTENT ACCESSED THROUGH THE DEVELOPER SERVICES AND THIRD PARTY MATERIALS. YOUR USE OF THE DEVELOPER SERVICES AND THIRD PARTY MATERIALS AND ANY CONTENTS ACCESSED THROUGH THE DEVELOPER SERVICES AND THIRD PARTY MATERIALS IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE OR LOSS ARISING FROM SUCH USE.
15. Limitation of Liability
15.1. TO THE EXTENT PERMITTED BY LAW, AFFINIDI, ITS SUBSIDIARIES AND AFFILIATES, SHALL NOT BE LIABLE TO YOU FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, OR INDIRECT DAMAGES, WHICH SHALL INCLUDE DAMAGES FOR LOST PROFITS AND BUSINESS INTERRUPTION ARISING OUT OF THE USE OR INABILITY TO USE THE DEVELOPER SERVICES AND THIRD PARTY MATERIALS, WHETHER OR NOT AFFINIDI OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
15.2. TO THE EXTENT PERMITTED BY LAW, THE TOTAL LIABILITY OF AFFINIDI FOR ANY CLAIM UNDER THE TERMS IS LIMITED TO THE AMOUNT YOU PAID US TO USE THE APPLICABLE DEVELOPER SERVICES DURING THE SIX MONTHS PRIOR TO THE EVENT GIVING RISE TO THE LIABILITY.
To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Affinidi, its affiliates and subsidiaries, and its directors, officers, employees, and users, against all liabilities, damages, losses, costs, fees (including legal fees), and expenses relating to any allegation or third-party legal proceeding to the extent arising from:
a. your access to or use of the Developer Services and Third Party Materials;
b. any application that you develop in connection with your access to or use of the Developer Services or Third Party Materials that infringes any Intellectual Property Right of any person or violates their privacy rights;
c. your breach, or your end user’s breach, of the Terms;
d. your misuse or your end user's misuse of the Developer Services or Third Party Materials; and
e. any content sent or received by you or your end users through the Developer Services or Third Party Materials.
17.1. The Terms form the entire agreement between us in relation to your access to and use of the Developer Services. The Terms do not create any joint venture, partnership, relationship of employment or agency between us. We are not liable for failure or delay in performance to the extent caused by circumstances beyond our reasonable control. The rights and remedies under this Agreement are cumulative and not exclusive of any other right or remedy provided by law or equity. Any delay or failure by Affinidi to enforce compliance with any of the Terms shall not constitute a waiver of such rights. If a particular term is found to be invalid, illegal or unenforceable, this will not affect the other terms. No third party shall have any right to enforce or enjoy the benefit of any of the provisions of this Agreement under the Contracts (Rights of Third Parties) Act (Cap. 53B) of Singapore.
17.2. The Terms shall be governed and construed in accordance with the laws of the Republic of Singapore, and you irrevocably submit to the exclusive jurisdiction of the courts in Singapore.