Legal
This policy describes which data arises when you visit this website and when you use the service we operate, where it is stored and to whom it goes. It describes what actually happens — not what could happen.
This is a courtesy translation. The German version is legally binding.
Responsible for the processing described here isHalvic Labs GmbH, Nünenenweg 45, 3123 Belp, Switzerland —hello@halvic.ch. The complete details are in thelegal notice.
It covers two things: this website at anvil-coder.tech and the service we operate at app.anvil-coder.tech.
It does not cover a self-operated installation. Anyone operating Anvil Coder on their own infrastructure processes source code, jobs and model requests in their own environment; that data does not reach us and we do not see it. Responsible for it is then whoever operates — not us.
The revised Swiss Data Protection Act (revFADP) governs. To the extent the EU General Data Protection Regulation (GDPR) is applicable to a processing operation, its requirements apply in addition.
The pages you are reading right now are prebuilt HTML. Two scripts of our own live on this domain: the navigation for narrow screens and the consent prompt below. There are no embedded third-party fonts, maps or forms and no cookie of ours; anyone writing to us writes from their own mailbox tohello@halvic.ch.
With your consent we measure visits with Google Analytics 4 (Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland). A banner asks on your first visit; only your "Accept" loads Google's measurement script. Google then receives the pages viewed, browser and device, the referrer and your IP address, from which it derives an approximate location, and sets cookies for this that Google manages. The data is also processed in the USA (Google LLC); Google participates in the EU-US and the Swiss-US Data Privacy Framework. We use the data as audience statistics: which pages are read and where visits come from. How Google processes data is described inGoogle's privacy policy.
Your browser stores your choice locally, not in a cookie; without consent nothing of Google's loads. The "Tracking settings" link in the footer lets you change it at any time; declining switches the measurement off immediately. A second exception, likewise only on your action: on thevideos page, only your click on a still loads the video player from YouTube (youtube-nocookie.com, Google Ireland Limited); from that click on Google receives your IP address and browser identification, and Google's privacy terms apply. Until then that page too loads nothing from YouTube.
What does arise on access is the web server's log: IP address, time, requested address, status code, referrer and browser identifier. We need it for operations and troubleshooting; it is not combined with other data and not condensed into profiles. The applications' logs flow into a collection inside the cluster that deletes them after 72 hours.
You can join the waitlist at app.anvil-coder.tech/register without an account. We collect your email address, first and last name and selected language. Company and role are optional. We use these details to manage access requests and contact you about activation. We also store request and decision timestamps, processing status and an activation token. Joining the waitlist does not itself create a paid subscription.
The newsletter is separate and optional; its checkbox is not preselected. With your consent, we transmit your name, email address and language preference to Infomaniak for newsletter delivery. We record the consent and its timestamp. You can withdraw consent or request removal from the waitlist by contacting hello@halvic.ch.
Waitlist records are not covered by the 72-hour operational log retention described above. They are stored separately to process the request. Contact us to ask about your stored details or request deletion; any applicable legal retention obligations remain reserved.
Anyone using the service at app.anvil-coder.tech signs in. Sign-in runs through Keycloak; this creates an account with email address and name as well as membership of an organisation. A cookie is set for the signed-in session — it serves sign-in only. On this website, that cookie does not exist.
The service also writes you emails: the confirmation of your address and the password reset through Keycloak, invitations and notifications from the cockpit. They are sent through the provider Resend (see Disclosure to third parties).
In operation, the service then processes what it is there for: the source code of the connected repositories, the jobs, the requests to a language model formed from them and their responses. Where the ticket or pull request integration is switched on, it additionally reads the tickets and comments intended for it. It writes the result back to where the job came from: as a commit into the repository, as a pull request, as a ticket state — that is, into your own systems.
Added to this are the operational data of a run: which run started when, which steps it went through, how it ended, and what it consumed in model and compute time. This consumption is metered and is the basis of the invoice; it is retained as evidence.
Operations run on the Infomaniak Public Cloud, Switzerland region. Databases, storage, logs and sign-in live there — for teams that have to justify data sovereignty, that is often the first question, and the answer is not a declaration of intent but the place where the machines stand.
The models themselves live with their respective providers. That is the first of three points at which the service's data leaves Switzerland. What is transmitted is what the model needs for the job: the description of the task and the parts of the source code it reads for it — with the providers' agent tools, which work in a run's working tree, also the output of the commands they run there. Four providers run in the hosted service today: Anthropic for the planning of a job and, where your organisation chooses Anthropic, for the execution; OpenAI, Google (Gemini) and Mistral for the execution, each exclusively with the API key your organisation holds with the provider itself and stores with us — without that key nothing runs there. All four are listed with legal entity, country and transfer basis underDisclosure to third parties. The connection is interchangeable and also covers local models — which provider runs is decided by the deployment's configuration and your organisation's choice (see Integrations).
The second point is the writing back. The service places the result where the job came from — as a pull request in the repository and as a state on the ticket. If those systems are located abroad — and with an account on github.com they are — the data thereby also leaves Switzerland. Our service establishes the connection there; where it leads is determined by your choice of repository and ticket environment.
The third point is the emails the service writes you: they are sent through Resend in the USA, and your email address, your name and the subject and text of the mail go there. The legal entity and the transfer basis are given below.
Disclosure occurs only to the following recipients, each with legal entity, country, purpose, data and — outside Switzerland — the transfer basis under the revFADP. For processors in the USA we rely on the Swiss-U.S. Data Privacy Framework (DPF) where the company is listed there, otherwise on the standard contractual clauses in the data processing agreement.
There is no disclosure for advertising purposes, no sale of data and no disclosure to third parties not involved in providing the service.
The applications' logs are deleted by the collection in the cluster after 72 hours. Account and run data persist as long as the account exists; deletion can be requested by email.
A shorter period applies to the most sensitive part. The requests to the model and its responses are recorded in a run's evidence, and they contain your source code. Theirverbatim content is removed automatically after 30 days. What remains is the bookkeeping around it — time, organisation, model, quantity consumed and result: the basis of the invoice, without the content. For the consumption and billing data, the statutory retention periods additionally apply — they are the evidence for the invoice and are therefore retained even when an account ends.
Traffic to this website and to the service runs over TLS. In the hosted service, the stored credentials for the models are kept encrypted instead of in plain text, every access to the factory carries its organisation, and foreign code is executed during building and testing in an unprivileged, throwaway pod. This is described in detail onSecurity.
There you will also find the flip side, and it applies here word for word: Anvil Coder carries no security certification, and it has no published penetration test. Whether a processing operation satisfies the requirements of the GDPR in an individual case is a legal assessment — we do not make it here and do not promise it. What we can show is the construction: which point aborts on a missing value, where data lives and where it goes.
You have the right to information about the data processed about you, and to rectification, deletion and restriction of processing; to the extent the GDPR applies, additionally to data portability and to objection. Please send requests tohello@halvic.ch — the same address as everything else.
You can also contact the Swiss Federal Data Protection and Information Commissioner (FDPIC) or, if you reside in the EU, your national data protection authority.
As of: 4 November 2026. If operations change, this text changes with them — it describes the state of the service, not an intention. The version published at the time of your visit applies.