Privacy Policy

Updated 20 August 2026

This policy describes how ByteTech LLC (“ByteTech,” “we”) handles information when you use Anvil (also referred to as AnvilPrep), our interview-preparation website and application.

It matches the product as it works today. We do not describe practices we do not currently implement.

Who is responsible

ByteTech LLC operates Anvil. We have not yet published a dedicated privacy email address. Until we do, privacy requests can be sent through the same channel you already use to reach us about the product. See About.

Information we collect

What we store depends on how you use Anvil.

If you create an account. We store the email address, username, and a hashed password you provide at registration. You may later add a display name, country, LinkedIn, GitHub, or website URL, and an optional profile picture.

Learning and practice data. When you are signed in we store lesson progress (including started and completed lessons), coding problem progress and attempt counts, a daily activity summary, custom problem lists, notes you save on lessons, coding problems, and system design (including saved Ask AI replies), and submissions (your source code, language, pass/fail status, and runtime metrics). Mock interviews store the session, your messages, interviewer messages, and generated feedback.

Optional AI settings. If you save an LLM provider API key in Settings, we store it encrypted and keep a short hint of the key. Questions you send to “Ask AI” on a lesson, and mock-interview dialogue, are sent to the language-model provider you selected so a reply can be generated. If you save an Ask AI reply as a note, that text is stored with your account.

Listen / speech. If you use Listen on a lesson, the lesson text is sent to our speech service so audio can be generated.

Public profile. Your username, display name, avatar, country, and public progress (solved counts, streak, activity calendar) can appear at a public URL of the form /u/your-username.

Technical data. Our servers receive the usual connection data needed to serve the site (for example IP address and request logs at the hosting layer). We do not currently operate a separate advertising profile.

Essential cookies and storage

Some cookies and browser storage are needed for Anvil to work. They are always active because they support core functionality. They are not used for Google Analytics, marketing, or building an advertising profile. You cannot turn Essential off.

Authentication / session. When you log in or register we set an HTTP-only cookie named ia_access_token. It holds a session token so the site can recognize you. It is set only after you sign in. It expires after about seven days, or when you log out.

Account and application data (server). If you have an account we store it in our database so core features work: profile, learning progress, completed problems, submissions, custom lists, and mock interview history. That data is part of providing the product, not optional analytics.

Browser storage (your device). Anvil uses local and session storage for preferences and drafts, including:

  • Theme preference (light or dark).
  • Draft code for problems you have opened, and the editor split width.
  • System design simulator graphs and results you save locally.
  • A short-lived mock-interview session identifier in session storage.
  • Your analytics cookie choice, so we remember Accept or Reject.

This browser data stays on your device unless you later submit related content to the service (for example by submitting code). We do not currently offer a separate “notes” feature.

Optional Google Analytics

Analytics is optional and off until you enable it. If you choose Accept all or turn Analytics on in Cookie settings, we load Google Analytics 4. Google may then set cookies such as _ga and receive page views and product events (for example sign-up or login), including technical data such as IP address under Google’s terms.

Analytics cookies are not set until you opt in. Ignoring the banner, choosing Reject optional, or saving preferences with Analytics unchecked means GA4 is not loaded.

If you reject or disable analytics

Google Analytics does not run: no gtag.js, no _ga cookies, no GA4 page views, and our analytics helpers do nothing. We do not replace that with other tracking, unique analytics profiles, marketing attribution, or fingerprinting.

If you previously enabled Analytics and then turn it off, we stop future GA4 tracking immediately, do not load GA4 on later visits, and remove first-party Google Analytics cookies where the browser allows. Essential cookies, sign-in, progress, drafts, and theme are not affected.

Core features still work. You can change your Analytics preference later with Cookie settings in the footer, which opens the preferences dialog.

How we use information

  • To create and maintain your account and keep you signed in.
  • To show your dashboard, progress, lists, submissions, and interview history.
  • To run your code in an isolated sandbox and return test results.
  • To run mock interviews and lesson tutoring when you ask for them.
  • To generate lesson audio when you press Listen.
  • If you accept analytics, to understand which pages and features are used, via Google Analytics.
  • To keep the service running and debug failures.

We do not sell your personal information.

Third-party services

  • Google Analytics 4 — only if you accept analytics. Google may process usage data, including IP address, under its own terms. If you reject, this service is not loaded.
  • Language-model providers — Ollama or a provider whose API key you save (for example OpenAI, Google Gemini, or OpenRouter). Prompt text you send is processed by that provider.
  • Speech synthesis — lesson text is sent to our configured TTS service when you use Listen.
  • Hosting and database — the application and PostgreSQL database that store accounts and progress.

Legal bases (EEA/UK)

Where GDPR applies, we process account, session, and progress data to provide the service you request (contract) and to operate the site (legitimate interests). Essential cookies and storage are not optional analytics. Google Analytics cookies are processed only if you enable Analytics. You may change that preference with Cookie settings.

Retention and deletion

Account and progress data are kept while your account exists. The product does not yet include a self-serve account deletion button. You can request deletion of your account and associated server-stored data by contacting us. Browser-only data can be cleared by clearing this site’s storage in your browser.

Your choices

  • You can use much of the catalog without an account.
  • You can edit or remove profile fields and your avatar in Settings.
  • You can reject optional analytics or turn Analytics off in Cookie settings. Essential storage stays on. Core features still work without Google Analytics.
  • You can log out, which clears the sign-in cookie.

Children

Anvil is intended for adults preparing for professional software interviews, not for children.

Changes

If we change how we collect or use information in a material way, we will update this page and the date above.