Privacy Policy
How SemanticOps MCP, SemanticOps Test Runner and the semanticops.dev website handle personal data.
Version 2.1 · Last updated 2026-10-12
In short
The software sends no telemetry, usage data or model data to us. Your Power BI models are processed on your machine, and logs stay there. Paid licences are checked online with our payment provider, the software checks GitHub for updates, and this website uses no analytics or advertising cookies. Details are below.
01 — CONTROLLER
Who is responsible for your data
Maksim Anatska, trading as Maxim Anatsko
Business ID (IČO): 21447985
Hartigova 126/2b, 130 00 Praha 3 - Žižkov, Czech Republic
Privacy contact: [email protected]
We are the controller for the personal data described in this policy. We have not appointed a data protection officer because we are not required to.
02 — THE SOFTWARE
SemanticOps MCP and Test Runner
- •No telemetry. The software sends no usage analytics, telemetry, crash reports or Power BI model data to us.
- •Local processing. Model operations, DAX and Power Query formatting, analysis and documentation export run on your machine.
- •Logs stay on your machine. Operation and audit logs are written locally, with sensitive values redacted, and are never sent to us.
- •Limited network calls. The software contacts the services in the table below. Each one is listed with what is sent and how to turn it off.
Licence validation (LemonSqueezy)
api.lemonsqueezy.com
- Purpose
- Activate, validate and deactivate Pro and Teams licence keys; manage seats.
- Data sent
- Licence key, the device (machine) name used as the activation instance name, an instance identifier, and your IP address as part of the connection.
- When
- On activation, then every 12 hours (and on startup) while a Pro or Teams licence is active. The Free tier makes no licence calls.
- Legal basis
- Performance of the licence contract
- Control
- Deactivate with manage_license (operation = deactivate). A validated licence keeps working offline for up to 7 days after the last successful validation.
Update check (MCP server)
api.github.com
- Purpose
- Compare the running version with the latest stable public release.
- Data sent
- The running SemanticOps MCP version in the User-Agent header and your IP address as part of the connection. No model metadata.
- When
- Startup update check, and when checking model connection status if the 12-hour cache is stale.
- Legal basis
- Legitimate interest (telling you about updates)
- Control
- Set MCP_ENGINE_UPDATE_CHECK_ENABLED=false, or turn off update_check_enabled with manage_preferences.
Update check (Test Runner)
api.github.com
- Purpose
- Compare the running Test Runner version with the latest published Test Runner release.
- Data sent
- The running Test Runner version in the User-Agent header and your IP address as part of the connection. No model metadata.
- When
- Once in the background when the Test Runner desktop app starts.
- Legal basis
- Legitimate interest (telling you about updates)
- Control
- Set MCP_ENGINE_TEST_RUNNER_UPDATE_CHECK_ENABLED=false.
Microsoft Entra ID and Power BI Service
login.microsoftonline.com, api.powerbi.com, sovereign-cloud equivalents
- Purpose
- Sign you in and reach the Power BI Service or Fabric workspaces you choose to connect to over XMLA.
- Data sent
- Your Microsoft sign-in and requests to your workspace, handled by Microsoft. These calls go directly from your machine to Microsoft; we receive nothing.
- When
- Only when you connect to Power BI Service or Fabric via XMLA. Never for Power BI Desktop connections.
- Legal basis
- Your choice to connect; Microsoft acts under its own terms
- Control
- Don't connect via XMLA, or set MCP_ENGINE_XMLA_ENABLED=false to disable Service connectivity entirely.
The device name can identify a person (for example JOHN-SMITH-LAPTOP). We use it, through Lemon Squeezy, only to show which devices hold your seats and to validate your licence. Legal basis: performance of the licence contract.
03 — CUSTOMERS
Purchases and licences
Lemon Squeezy is our merchant of record. It sells the licence to you, takes payment, handles tax and issues licence keys, and processes your payment data as an independent controller under its privacy policy. We never see your card details.
What we receive from Lemon Squeezy
Name, email address, billing country, order and subscription details, licence key and its activation instances (device names), and whether you opted in to product emails.
Why, and on what legal basis
- •Providing the licence, seat management, refunds and support: performance of a contract (Art. 6(1)(b) GDPR).
- •Keeping accounting and tax records: legal obligation (Art. 6(1)(c) GDPR).
- •Product and licence-term notices to paying customers: performance of a contract.
- •Newsletter or marketing emails: your consent (Art. 6(1)(a) GDPR), which you can withdraw at any time.
How long we keep it
For the duration of your subscription, then for the period Czech accounting and tax law requires us to keep records. Support emails are deleted when no longer needed for the customer relationship.
04 — THIS WEBSITE
This website: no tracking cookies
semanticops.dev uses no tag manager and no analytics or advertising cookies, so there is no cookie banner. Page-view statistics come from Cloudflare Web Analytics, which is cookieless and does not build profiles. Our hosting and CDN providers process your IP address to deliver the site securely. The only third-party services the site loads are listed below.
Cloudflare Web Analytics
Analytics- Provider
- Cloudflare, Inc.
- Purpose
- Cookieless, aggregated page-view and performance statistics.
- Legal basis
- Legitimate interest (website performance); no cookies or personal profiles
- Cookies
- None
Lemon Squeezy checkout
Necessary- Provider
- Lemon Squeezy LLC
- Purpose
- Provides the checkout overlay for buying a plan. Its script (lemon.js) loads on every page so checkout can open, which sends your IP address to Lemon Squeezy.
- Legal basis
- Legitimate interest (offering checkout); contract once you start a purchase
- Cookies
- None on page load; set by Lemon Squeezy only when you open the checkout
YouTube (privacy-enhanced mode)
Functional- Provider
- Google Ireland Ltd.
- Purpose
- Embedded walkthrough videos on the Test Runner page. The player loads from youtube-nocookie.com when it scrolls into view, which sends your IP address to Google.
- Legal basis
- Legitimate interest (showing product videos)
- Cookies
- No YouTube cookies until you play a video
05 — RECIPIENTS
Who receives data, and transfers
- •Lemon Squeezy (United States): merchant of record and licence API. Transfers from the EEA rely on the European Commission's standard contractual clauses, as set out in its data processing agreement.
- •GitHub (United States): receives update-check requests from the software.
- •Google (YouTube): embedded videos on the Test Runner page.
- •Hosting and delivery: Vercel and Cloudflare, which serve this website.
- •Our accountant and the tax authorities, where required by law.
Where a recipient is outside the EEA, the transfer relies on an EU adequacy decision (such as the EU-U.S. Data Privacy Framework, for certified companies) or the European Commission's standard contractual clauses.
If the business is sold
If SemanticOps or its business is sold or transferred, customer data may be transferred to the acquirer, who will become the controller. We will notify you.
06 — AI ASSISTANTS
Your AI assistant is a separate service
SemanticOps MCP returns results to the AI assistant you connect it to (Claude, GitHub Copilot and others). That assistant may send your prompts and the results to its provider under its own privacy policy. We do not control or receive that data. Use the masking features and review what you ask the assistant to analyse.
07 — YOUR RIGHTS
What you can ask us to do
Under the GDPR you have the right to access your personal data, to rectification, to erasure, to restriction of processing, to data portability, to object to processing, and to withdraw consent at any time without affecting earlier processing. Email [email protected] and we will respond within one month.
You can also complain to the Czech data protection authority, Úřad pro ochranu osobních údajů (ÚOOÚ), or to the authority in your EU country of residence.
08 — CHANGES
Updates to this policy
We update this policy when the software or website changes how it handles data. The version and date at the top show the current revision; paying customers are emailed about material changes. Software licence terms are in the licence.
Contact us about privacy