Skip to content

Latest commit

 

History

History
261 lines (152 loc) · 25 KB

LICENSE.md

File metadata and controls

261 lines (152 loc) · 25 KB

Explyt Test Plugin User Agreement

Last Updated: 21.02.2025

IMPORTANT

Be sure to carefully read and understand all of the rights, obligations and restrictions set forth in this agreement (also "Agreement" or "User Agreement").

ESPRITO TECH QFZ LLC and its affiliates ("Us", "Company", or "Esprito Tech") are pleased to offer you ("User") access to our Explyt Test Plugin software and services. By creating an account with our Telegram miniapp at [https://t.me/explytbot], or by downloading, installing, accessing, or using the Explyt Test Plugin, you agree to be bound by the terms and conditions of this User Agreement. If you are entering into this Agreement on behalf of a company or other legal entity, you represent that you have the authority to bind such entity to these terms. If you do not agree to these terms, do not download, install, access, or use the software or services.

Additionally, both User and Esprito Tech waive any right to participate in a class-action lawsuit or class-wide arbitration.

Note: If you represent an entity accepting this Agreement, you are required to use a corporate email address. Esprito Tech identifies the actual User (your company) based on the email domain. Esprito Tech reserves the right to deny or terminate this Agreement and your Account at any point if it determines that you have used inaccurate email data, or if the website corresponding to the company domain does not function or lacks verifiable company information.

DEFINITIONS

In this Agreement, the following terms shall have the meanings set forth below:

"Explyt Test Plugin" or "Plugin": A software plugin developed by Esprito Tech for IntelliJ IDEA, which facilitates the User's interaction with external Large Language Models (LLMs), processing User Data to generate appropriate Prompts for LLMs to produce programming Tests for the User's source code, utilizing AI models and world-leading static and dynamic code analysis techniques.

"Explyt AI Server": The backend of the Plugin installed on server operated by Esprito Tech that receives Requests and User Data from the Explyt Test Plugin, performs analytical processing including the creation of Prompts, communicates with external LLMs, and returns Services results to the User.

"Esprito Tech": Esprito Tech QFZ LLC, the copyright owner and developer of the Explyt Test Plugin, with a principal place of business at Office 62, Ras Bufontas Admin Building Building 43, Street 517, Zone 49, Ras Bufontas Free Zone, Doha, The State of Qatar. It is a company incorporated under the laws of The State of Qatar, License No. FZA 578.

"User" or "You": The individual or legal entity that downloads, installs, registers, or uses the Explyt Test Plugin.

"Affiliates": Any entity that directly or indirectly controls, is controlled by, or is under common control with Esprito Tech.

"LLM": Large Language Model, an external AI model to which the Explyt AI Server sends User Data and Prompts to generate Test code, Scenarios, or other outputs.

"API Key": A unique identifier provided to the User to access certain functionalities of the Explyt Test Plugin. The API Key is linked to the User's Telegram user ID. The API Key allows Esprito Tech to identify the User when they make requests to the Explyt AI Server.

"Token": A unit of measure representing the User's usage credits for the Explyt Test Plugin services.

"Scenario": A Test creation plan generated by an external LLM based on the Prompt and User Data, presented to the User via the Plugin for review and approval.

"Test": The source code of the test generated by an external LLM based on the User-approved Scenario, Prompt and User Data, facilitated by the Plugin and delivered to the User via the Plugin and Explyt AI Server.

"Request": An interaction initiated by the User through the Explyt Test Plugin that consumes Tokens, such as generating a Scenario or Test, which is sent to the Explyt AI Server for processing.

"User Data": Any data, code, information, or content provided by the User to the Explyt Test Plugin, including source code, Test Scenarios, and any modifications thereof.

"Prompt": A set of instructions or queries generated by the Explyt AI Server based on the User Data, which is sent to an external LLM to generate a Scenario or Test.

"User Guide": Documentation provided on the Site by Esprito Tech that explains how to download, install and use the Explyt Test Plugin.

"IntelliJ IDEA": An integrated development environment (IDE) owned by JetBrains that supports the development of software across various programming languages, including the functionality to extend its capabilities via plugins such as the Explyt Test Plugin.

"JetBrains": JetBrains s.r.o., having its principal place of business at Na hřebenech II 1718/8, Prague, 14000, Czech Republic, registered with the Commercial Register kept by the Municipal Court of Prague, Section C, file 86211, ID No.: 265 02 275.

"Site": The official online presence of the Explyt Test Plugin, which can be accessed via [https://explyt.com/].

License Coverage

License Grant

Subject to the User's compliance with this Agreement (including the payment of any applicable Fees), Esprito Tech grants the User a personal, non-exclusive, non-transferable, non-sublicensable, limited (in the number of Tokens), revocable right to download, install, and use the Explyt Test Plugin and access its associated services ("Services") solely for the User's internal business or personal purposes.

Licensing Term

The Licensing Term grants You the right to use any current version of the Explyt Test Plugin released under this Agreement for a duration equal to the duration of your Account activity, starting from the date of its registration and ending with the date of its deletion, but not exceeding the term of Esprito Tech's copyright.

If the User downloads, installs, and uses the Plugin without an Account, the User is not authorized to access or use the Services provided by the Plugin. In this case, the licensing term begins on the date of download, installation, or use and ends on the date the files are deleted or the Plugin is uninstalled.

License Limitations

Nothing in this Agreement constitutes or may be construed as permission:

  • To create derivative works, compound works, or resell the Explyt Test Plugin for any purposes.
  • To access the Explyt Test Plugin's source code and use it for purposes of adaptation, modification, reworking, decompiling or obfuscation.
  • To assert or imply that You are, or that Your use of the Explyt Test Plugin is, connected with, sponsored, endorsed, or granted official status by Esprito Tech or others designated to receive attribution hereunder.

The use of the Explyt Test Plugin is strictly limited to the use of its functions for internal business or personal purposes.

Plugin Functionality

The Plugin is subject to functionality limitations as outlined on the Site, which Esprito Tech reserves the right to modify without prior notification.

License Prohibitions

You are expressly prohibited from altering, reverse-engineering, decompiling, or disassembling the Plugin, either partially or in its entirety. You may not create derivative works from the Plugin or relicense any rights in the Plugin, unless explicitly authorized by Esprito Tech through written consent.

Plugin and Agreement changes

Nothing in this Agreement constipates the prohibition to develop and change Plugin and its functionality, which can lead to change of Services, this Agreement or fee policy, which Esprito Tech reserves the right to modify without prior notification.

Account and Services Access

Account Registration

To use the Explyt Test Plugin and its Services, the User must register and establish an account ("Account") and acquire an API Key. The User can register an Account using the following Telegram miniapp: [https://t.me/explytbot].

By registering an Account, the User represents that they are entitled to provide the information submitted without violating any third-party rights or obligations, and that they are at least 18 years old or of legal age to accept this Agreement in the appropriate jurisdiction of their country.

API Key Acquisition

To obtain an API Key, the User must access their Account and collect the API Key associated with it. The API Key allows Esprito Tech to identify the User when they make requests to the Explyt AI Server.

Account Security

The User is responsible for managing and securing credentials associated with their Account and API Key and must protect them against unauthorized use or disclosure.

Account Suspension and Termination

Esprito Tech reserves the right to suspend or terminate the User's Account in the event of any violation of this Agreement. In cases of gross or repeated violations, the Account may be permanently deleted without prior notice.

Fees and Payment

Tokens and Payment Model

The provision of Explyt Test Plugin Services operates on a Token-based model. Each User Request to the Plugin consumes a certain number of Tokens, as specified in the User Guide or within the Plugin. The number of Tokens required for a Request is estimated by the Plugin (the "Estimation"). The Estimation is displayed to the User by the Explyt Test Plugin before each Request is sent. If the User does not have enough Tokens to cover the estimated cost of the Request, the Plugin will prompt the User to purchase additional Tokens.

Esprito Tech, acting with the best intentions, will strive to follow the Estimation; however, due to the nature of AI, this prediction may not always be accurate. In case your Request, sent to the Plugin in good faith, results in a charge that exceeds double the Estimation, Esprito Tech will refund the difference between the Estimation and the actual amount in Tokens to your Account. To request this refund, please contact us at sales@explyt.com, providing information that allows us to identify your Request.

Token Balance

Each Account has a Token balance. The User is responsible for maintaining a sufficient balance of Tokens in their Account to access and receive the Services. Some Tokens may be granted for free by Esprito Tech for User activities, which are listed on the Site, while other Tokens must be purchased by the User in accordance with Esprito Tech's purchase policy, also available on the Site. All purchased Tokens are non-transferable and non-refundable. No refunds will be provided for any unused Tokens. The User is responsible for providing complete and accurate billing and contact information when purchasing Tokens. Token fees do not include taxes, levies, duties, or any commissions charged by third parties during Token purchase. Esprito Tech will charge applicable taxes if legally required.

Use of Explyt Test Plugin and Its Services

Download and Installation

The User may download the Explyt Test Plugin as a plugin for IntelliJ IDEA from Site and install it following standard procedures for IntelliJ IDEA plugins.

Generating Tests Process

Creation of each Test requires at least the following two consecutive steps:

Scenario Requests

  • The User selects the part of their source code within the IntelliJ IDEA project for which they wish to create a Test using the Explyt Test Plugin.
  • The User configures the desired LLM and framework settings within the Plugin.
  • The Plugin may use the selected source code and additional surrounding code within the IntelliJ IDEA project (the "Environment") that the selected code references or depends upon. The selected code and its surroundings together form the "User Data".
  • The Plugin transmits the User Data, settings, and user choices to the Explyt AI Server.
  • The Explyt AI Server analyzes the User Data and generates a Prompt for creating a Scenario.
  • The Explyt AI Server sends the Prompt and User Data to the selected external LLM to generate a recommended Scenario expressed in Gherkin language.
  • The Explyt AI Server receives the recommended Scenario from the LLM and delivers it to the User via the Plugin. The User may review, edit, and approve the Scenario before proceeding.

Test Requests

  • Upon approval of the Scenario, the User sends a Request for Test generation via the Plugin.
  • The Plugin transmits the approved Scenario and relevant User Data to the Explyt AI Server.
  • The Explyt AI Server generates a Prompt for creating the Test based on the approved Scenario and User Data.
  • The Explyt AI Server sends the Prompt and User Data to the selected external LLM to generate the Test code. The Explyt AI Server receives LLMs output and checks the Test for accordance with the approved Scenario and its code compilability. This step can be repeated several times with updated - Prompts until Explyt AI Server logic decides to provide Test to User.
  • The Explyt AI Server delivers the generated Test code to the User via the Plugin.

User Consents on Services:

By using the Explyt Test Plugin, the User gives the following consents:

  • Data Transmission: To the transmission of their source code and its Environment (User Data), settings, and user choices from the Plugin to the Explyt AI Server, and from the Explyt AI Server to the selected LLM, for the purpose of generating Scenarios and Test code.
  • Acknowledgment of Server Processing: The User acknowledges that the analytical functionality for creating Prompts and processing User Data or external LLMs output is performed on the Explyt AI Server, not the part of the Plugin installed on their computer.
  • Internet access: To the use Services of the Plugin, User must have access to stable Internet connection and allow Plugin installed on their computer to transmit User Data to the Explyt AI Server and receive its output results.
  • Acknowledgment of Multiple Requests: The User acknowledges and agrees that creating a Test typically involves at least two Requests. The first Request generates a recommended Scenario. The second Request generates the Test code based on the approved Scenario. Additional Requests may be necessary if the User chooses to modify or adjust the Scenario or Test.
  • Acknowledgment of Code Execution: All Test source code generated by the Plugin should be thoroughly reviewed and verified by the User before execution. In certain Plugin features, the option to review the Test source code is not available, and the Test may be automatically applied to the User’s Data upon receipt from the Plugin. Additionally, in rare situations, running the Test may lead to unintended loss of unsaved User Data or alterations to system configurations. Consequently, the User is obliged to maintain comprehensive backups of all relevant User Data and settings before using any test generation features.
  • User Guide Acknowledgment: By accepting this Agreement, the User acknowledges that they have read, understood, and agree to the procedures outlined in the User Guide, especially the detailed process and sequence of using the Explyt Test Plugin, including how Requests work, Tokens, approvals of Scenarios, and the amount of User Data used in the process.

Representations and Warranties

The User represents and warrants that:

  • They will access and use the Explyt Test Plugin and the Services in compliance with all applicable laws, rules, and regulations.
  • They have all necessary rights and consents to provide and submit any and all information, including User Data and input to the Explyt Test Plugin.
  • The User Data does not contain any personal data of third parties, harmful content, malicious code, or any material that infringes upon the rights of others or violates applicable laws.

Intellectual Property Rights and Feedback

User Data and Output: The User retains all intellectual property rights in their User Data and the Tests generated using the Explyt Test Plugin and the selected external LLM.

License to Esprito Tech: The User grants Esprito Tech and its Affiliates a non-exclusive, irrevocable, royalty-free, worldwide license to use, reproduce, modify, and distribute the Prompts, Scenarios, and Tests solely for the purposes of providing the Services, improving the Explyt Test Plugin, and developing new products and services, in compliance with applicable laws and privacy regulations.

Acknowledgment of LLM Nature: The User understands and acknowledges that due to the nature of AI and LLMs, the Tests generated may not be unique and may be similar or identical to content generated for other users. Esprito Tech does not guarantee the uniqueness or originality of the Tests. Esprito Tech does not operate external LLM training and is not responsible for data used for training.

Third-Party Rights: The User agrees that Esprito Tech is not responsible for any infringement of third-party intellectual property rights that may arise from the Tests generated by the selected external LLM. The User is solely responsible for reviewing and ensuring that the Tests do not infringe upon any third-party rights.

Feedback: If the User provides any feedback, comments, or suggestions regarding the Explyt Test Plugin ("Feedback") by using the Feedback links on the Site, Esprito Tech may freely use and incorporate such Feedback into the Plugin or any of its current or future products or services.

Ownership: Except for the User Data and Tests, all intellectual property rights in and to the Explyt Test Plugin, the Services, and any content provided by Esprito Tech ("Company Content") are owned exclusively by Esprito Tech and its licensors.

Privacy and Data Usage

Data Processing and Use: By using the Explyt Test Plugin, the User consents to the collection, use, transfer, and processing of their User Data as described in this Agreement and the Privacy Policy available at https://explyt.com/plugin-privacy/, and the Data Processing Agreement available at https://explyt.com/data-processing/.

Stored User Data: Esprito Tech may monitor, collect, delete and store for execution of this Agreement following User Data:source code and its Environment, accessible under Users IntelliJ IDEA Project, Users IntelliJ IDEA Project name and name of files for which Requests were used.

Anonymized Statistics: Esprito Tech may monitor and collect anonymized usage data and statistics from the User's Plugin and Account activity and User Data stored within the Plugin, IntelliJ IDEA,and the Explyt AI Server to improve the Services. You can Opt-Out out of Esprito Tech statistics gathering at any time with written notice sent to us in advance to info@explyt.com.

Personal Data Restrictions: The User agrees not to provide any personal data or sensitive information of any individual as part of the User Data.

Compliance with Laws: The User Data must not contain harmful content, malicious code, or any material that infringes upon the rights of others or violates any applicable laws or regulations.

Third-Party Services and Links

LLM Terms of Use: By selecting and using an external LLM within the Explyt Test Plugin, the User acknowledges and agrees to comply with the terms of use and privacy policies of that LLM. The Explyt AI Server facilitates communication with the selected LLM. The list of supported LLMs and their terms can be found at the Site (Faq).

Assumption of Risk: The User accepts all risks associated with the use of external LLMs. The Explyt Test Plugin and the Explyt AI Server act solely as facilitators between the User and the selected LLM and do not control or assume responsibility for the LLM's performance or output.

No Liability for LLM Output: Esprito Tech is not responsible for any errors, omissions, or infringements in the code provided by the selected external LLM. The User is responsible for reviewing and validating all code generated.

Confidentiality

Definition: "Confidential Information" means any proprietary or trade secret information disclosed by one party to the other that is designated as confidential or that reasonably should be understood to be confidential.

Obligations: The receiving party agrees not to disclose the disclosing party's Confidential Information to any third parties except to its representatives on a need-to-know basis, and to use at least reasonable care to protect the confidentiality of such information.

Exceptions: Confidential Information does not include information that is publicly available, independently developed without use of the Confidential Information, or rightfully obtained from a third party without restrictions.

Duration: The confidentiality obligations under this Agreement shall remain in effect for three (3) years after the termination of this Agreement.

Disclaimer, Limitation of Liability and Indemnification

Disclaimer of Warranties: The Explyt Test Plugin, the Services, and any output generated are provided "as is" without warranties of any kind, either express or implied. Esprito Tech expressly disclaims all warranties, including merchantability, non-infringement, fitness for a particular purpose, or accuracy. The Company does not warrant that the Services will be uninterrupted or error-free.

Limitation of Liability: In no event shall Esprito Tech's total liability to the User for all damages exceed the total amount of Fees paid by the User for the Services in the three (3) months preceding the event giving rise to the liability. The Company shall not be liable for any indirect, incidental, special, consequential, or exemplary damages arising out of or in connection with the use of the Explyt Test Plugin or the Services.

Indemnification: The User agrees to indemnify, defend, and hold harmless Esprito Tech and its Affiliates from any claims, damages, liabilities, and expenses arising out of:

  • The User's use of the Explyt Test Plugin, including any infringement of third-party intellectual property rights.
  • Any violation of this Agreement or applicable laws by the User.
  • Any content or User Data submitted by the User, including any claims that such content infringes or misappropriates any third-party rights.

Term and Termination

Term: This Agreement is effective upon the User's acceptance and continues until terminated as provided herein.

Termination by User: The User may terminate this Agreement at any time by uninstalling the Explyt Test Plugin, deleting Account and ceasing all use.

Termination by Esprito Tech: Esprito Tech may suspend or terminate the User's access to the Explyt Test Plugin and the Services at any time, with or without cause, including for any violation of this Agreement. Effect of Termination: Upon termination, all rights granted to the User under this Agreement will cease, and the User must discontinue all use of the Explyt Test Plugin. Any outstanding Fees owed by the User shall become immediately due and payable. Survival: Sections that by their nature should survive termination of this Agreement shall survive, including but not limited to Sections 6, 7, 9, 10, 11 and 14.

Modifications

Amendments: Esprito Tech reserves the right to modify this Agreement at any time. The latest version will be available on our website, and the "Last Updated" date will reflect any changes.

Continued Use: Continued use of the Explyt Test Plugin after any such modifications constitutes the User's acceptance of the new terms.

Price Changes: Any changes to Fees will apply upon the commencement of the User's next payment following the update.

General Provisions

Governing Law and Cross-Border Considerations:

This Agreement shall be governed by and construed in accordance with the laws of The State of Qatar, without regard to its conflict of law principles. If the User is located outside The State of Qatar, local mandatory consumer protection laws may apply. In such cases, this Agreement shall be interpreted to comply with such local laws to the extent required.

Entire Agreement: This Agreement constitutes the entire understanding between the parties regarding the Explyt Test Plugin and supersedes all prior agreements.

Assignment: The User may not assign or transfer any rights or obligations under this Agreement without the prior written consent of Esprito Tech. The Company may assign this Agreement without restriction.

Severability: If any provision of this Agreement is found to be invalid or unenforceable, the remaining provisions shall remain in full force and effect.

Waiver: Failure to enforce any right or provision of this Agreement shall not constitute a waiver of such right or provision.

Notices

All notices or communications under this Agreement shall be in writing and sent to the parties at their respective addresses or email addresses. Notices to Esprito Tech should be sent to:

Esprito Tech QFZ LLC

Office 62, Ras Bufontas Admin Building Building 43

Street 517, Zone 49, Ras Bufontas Free Zone


Doha, The State of Qatar


Email: info@explyt.com

Private Cloud Licensing

If the User desires to use the Explyt Test Plugin exclusively within their own environment, including with their own or external LLM, they must contact our sales department for licensing inquiries at sales@explyt.com.

Contact Information

For any questions or concerns regarding this Agreement or the Explyt Test Plugin, please contact us at info@explyt.com.

Links on previous versions of the User Agreement: -