Terms of Service
1. Definitions
- Heimdl: the code review service described in these terms, operated by LEGAL ENTITY NAME, a company registered at REGISTERED ADDRESS. Heimdl is the name of the product. No other company or brand name applies to this agreement.
- Service: the GitHub App, the checks it runs, and the related dashboards, reports, and notifications Heimdl makes available to an account.
- Account: the customer facing entity that a plan attaches to and that owns zero or more repositories. Several people acting on behalf of one team may share a single account.
- Repository: a source code repository that an account connects to Heimdl through GitHub.
- Check: a run in which Heimdl injects small faults into the lines a pull request touched, executes the repository's own test suite against each fault inside a fresh container, and reports which faults no test caught.
- Finding: a report that an existing test did not catch a specific injected fault.
- Proposed Test: a candidate test that Heimdl may generate for a finding and deliver to you as a diff for your review.
- Allowance: the number of checked runs a plan grants an account within a billing period.
2. The Service
When a pull request opens on a connected repository, Heimdl clones the repository into a fresh container, injects small faults into the lines the change touched, runs the repository's own test suite against each fault, and reports the faults that no test caught.
Where the lines a change touched contain nothing a fault can be injected into, for example a change limited to type declarations, configuration, documentation, or generated files, Heimdl reports the change as unchecked. An unchecked result is not presented as a pass or as a checkmark, and it is a distinct outcome from a checked run that found no surviving fault.
Heimdl may also run a slower, periodic check across a whole module, on a schedule rather than per pull request, intended to show which tests in your suite are load bearing and which catch nothing.
3. Accounts and GitHub Authorization
You must have the right to connect a repository to Heimdl, whether by ownership, membership, or another lawful authorization. Connecting a repository is an explicit action, and a repository belongs to at most one account at a time. An attempt to connect a repository that another account has already connected is rejected rather than silently transferred.
You authorize Heimdl, through the GitHub App you install, to access the repositories you connect, to read the pull requests opened against them, and to report findings back to you through GitHub and through the Heimdl dashboard. You may revoke this authorization at any time by removing the GitHub App or disconnecting the repository.
4. Acceptable Use
- You must not connect a repository you do not have authorization to submit.
- You must not attempt to interfere with, overload, or reverse engineer the isolation between Heimdl's per run containers.
- You must not submit a repository containing malware, or code intended to exploit or damage the infrastructure Heimdl runs checks on.
- You remain solely responsible for reviewing, applying, or rejecting any finding or proposed test before it affects your own codebase.
5. Findings and Proposed Tests
Every finding Heimdl reports is advisory. A finding states that an existing test did not catch a specific injected fault. It is not a statement that the underlying code is broken, and it is not a statement that the code is safe where no finding is reported. A fault can be unreachable in practice, a test can be flaky, and a passing suite can still miss real defects that fall outside what a given run examined.
Where Heimdl identifies expected behaviour from a source it treats as reliable, it may attempt to generate a proposed test for a surviving fault, and validates that candidate by running it against both the fault and your real, unmutated code before showing it to you. A candidate that does not pass this validation is never shown.
A proposed test is delivered to you as a diff for your review. Heimdl does not open or merge a pull request on your behalf, and it does not mark a finding resolved on its own. You decide whether to apply, edit, or discard a proposed test.
Heimdl attempts to generate a proposed test on an eligible finding. It is not something the Service has reliably delivered to date, and you should not plan around receiving one for any given finding.
6. Scope and Limitations of a Check
A check examines only the lines a pull request's diff changed. It says nothing, and makes no claim, about code the change did not touch. A defect that already existed in unchanged code, anywhere else in the repository, is outside the scope of every per pull request check. The periodic, whole module check described in section 2 is separate from a per pull request check and is scoped as stated there, not as a statement about any specific pull request.
A change that adds lines without altering existing behaviour may have nothing in it a fault can be injected into. In that case Heimdl reports the change as unchecked, as described in section 2, rather than reporting a false pass.
Heimdl does not warrant that a check finds every defect in the code it examines, that a clean or unchecked result means the code is free of defects, or that a finding is free of false positives. Heimdl's method identifies where an existing test failed to notice a specific, reproducible change in behaviour. It does not evaluate code quality, security, or correctness of business logic beyond what a test happens to assert.
7. Fees and Billing
The account, not an individual repository, is the billable party. A repository that GitHub reports as public at the time a run is triggered is checked at no charge. Visibility is checked on every run rather than fixed at the time a repository is first connected.
A paid plan grants an account an allowance counted in checked runs per billing period. A checked run is a run whose changed lines contained at least one injectable fault and that produced a result. An unchecked run does not consume the allowance and is not billed as an overage run.
Once an account's allowance for a period is exhausted, Heimdl does not stop running checks and does not silently continue at reduced quality without notice. Instead, it continues running checks using a deterministic baseline selection rather than the model guided selection used within the allowance. A run affected in this way states, on that run, that the allowance was exhausted, that the run used the deterministic baseline, and that the baseline can produce a noisier result. A degraded run is recorded as a distinct kind of run and does not itself count as a further checked run against the allowance.
Heimdl does not currently process payment through any payment processor. The Service holds no money, computes no invoice, and cannot currently accept payment from any account. Checking a repository that GitHub reports as public is free today and is expected to remain free under any future pricing model. A future version of these terms will state the fee, the payment method, and any refund policy once a payment mechanism exists.
8. Term and Termination
These terms apply for as long as your account connects at least one repository to Heimdl. You may stop using the Service at any time by disconnecting your repositories or removing the GitHub App.
Heimdl may suspend or terminate an account's access where the account materially violates section 4 of these terms, including connecting a repository it is not authorized to submit or interfering with the isolation of Heimdl's run containers. Heimdl may also suspend access where continued operation would expose the Service or another account to risk, for example a repository that repeatedly crashes or destabilizes the containers checks run in.
No payment processor or billing period is yet implemented, as stated in section 7, so no refund or pro rated credit process exists today. A future revision of these terms will state one once billing exists.
9. Intellectual Property
You retain all rights to your own repository content. Heimdl processes your code inside a fresh container for the duration of a run in order to produce findings, and claims no ownership over your code, your findings, or a proposed test generated for your repository.
Heimdl and its licensors retain all rights to the Service itself, including the software, methods, and models Heimdl uses to run a check, independent of any specific finding or proposed test produced for you.
10. Confidentiality and Data Protection
Use of the Service involves transmission of repository content to a third party AI model provider in order to generate a finding or a proposed test. See the Privacy Policy for a full description of what is retained, for how long, which processors are involved, and why.
Heimdl treats your repository content as confidential and uses it only to operate the Service for your account, except as required to comply with the law or as described in the Privacy Policy.
11. Disclaimers
THE SERVICE IS PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON INFRINGEMENT. HEIMDL DOES NOT WARRANT THAT A CHECK WILL FIND EVERY DEFECT IN YOUR CODE, THAT A CLEAN OR UNCHECKED RESULT MEANS YOUR CODE IS FREE OF DEFECTS, OR THAT THE SERVICE WILL BE UNINTERRUPTED OR ERROR FREE.
12. Limitation of Liability
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, HEIMDL'S TOTAL LIABILITY ARISING OUT OF OR RELATING TO YOUR USE OF THE SERVICE, WHETHER IN CONTRACT, TORT, OR OTHERWISE, IS LIMITED TO LIABILITY CAP AMOUNT. HEIMDL IS NOT LIABLE FOR INDIRECT, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, INCLUDING ANY DEFECT THAT A CHECK DID NOT FIND, ANY FINDING LATER SHOWN TO BE A FALSE POSITIVE, OR ANY CONSEQUENCE OF APPLYING OR NOT APPLYING A PROPOSED TEST.
Nothing in this section is intended to exclude or limit liability that cannot lawfully be excluded or limited under the governing law stated in section 14.
13. Indemnification
You agree to indemnify and hold Heimdl harmless from any claim, loss, or expense arising from your breach of these terms, including a claim that you connected a repository without authorization to do so, or that your use of a finding or a proposed test infringed the rights of a third party.
14. Governing Law
These terms are governed by the laws of GOVERNING LAW / JURISDICTION, and any dispute arising from them is subject to the exclusive jurisdiction of the courts of JURISDICTION FOR DISPUTES. These values are placeholders and are not yet decided.
15. Changes to These Terms
Heimdl may update these terms from time to time, for example to reflect a change in the Service, a new payment mechanism, or a new billing arrangement. Heimdl will post the updated terms on this page and update the date shown at the top. Continued use of the Service after an update constitutes acceptance of the revised terms.
16. Contact
Questions about these terms can be sent to hello@heimdl.ai.
Heimdl