Privacy policy
Last updated: 21 October 2026
1. Introduction
This Privacy Policy describes how Constructor Labs Ltd ("we", "us", "our") collects, uses and protects your personal information when you use the SKMTC platform at skmtc.dev (the "Service").
- Name: Constructor Labs Ltd
- Company registration: 08389656
- Contact: hello@skmtc.dev
- Post: Constructor Labs Ltd, Hove Business Centre, Fonthill Rd, Hove BN3 6HA
2. Information we collect
2.1 Account information
When you create an account we collect:
- Name, email address and username
- GitHub profile information, used for OAuth sign-in
- A GitHub access token you supply, held encrypted, so we can open pull requests on your behalf
- Organisations you belong to and your role in them
- Account preferences and settings
2.2 Usage data
We record how the Service is used:
- API specifications you add, and the catalog entries they produce
- Code generation runs, their configuration and their results
- Conversations you hold about the catalog, and searches you run, including the text of each (see 7.3)
- Feature usage, page views and navigation
- Errors and diagnostic information
2.3 Technical data
- Approximate location, derived from your IP address. Our analytics processor is configured to anonymise the address itself rather than store it
- Browser, operating system and device information
- Session duration and interaction data
2.4 One profile across the browser and the CLI
Product analytics events are sent from this website AND from our backend when you use the command-line tool or the API. Both are recorded against the same account identifier, so activity in the CLI and activity in the browser form a single profile. That profile carries your email address, name and username.
- A cookie is set in your browser to associate events before and after sign-in
- Server-side events are attributed to your account, not to a device
2.5 Session recordings
We record browsing sessions on the website: the pages you see, your clicks, scrolling and typing, and messages the page writes to the browser console. Recordings are linked to your account, not to an anonymous device.
- What is on screen is captured as rendered, including private API and organisation names
- The text you type into form fields is masked; the fact that you typed is not
- Recordings are kept for 30 days
3. How we use your information
3.1 Providing the Service
- Giving you access to the platform and its features
- Fetching, versioning and comparing the API schemas you register
- Running code generation and delivering its output
- Managing your account and organisations
- Answering support requests
3.2 Improving the Service
- Understanding which features are used, and how
- Monitoring performance and diagnosing faults
- Measuring the quality of search and generated answers
- Developing new features
3.3 Communication
- Service notifications, including schema changes you subscribe to
- Responding to enquiries
- Notifying you of security incidents or changes to this policy
3.4 Legal compliance
- Meeting legal and regulatory obligations
- Investigating and preventing abuse
- Responding to lawful requests
4. Legal basis for processing
Under the UK GDPR and EU GDPR we process personal data on these bases:
4.1 Contractual necessity
- Providing the Service as agreed
- Managing your account and organisations
4.2 Legitimate interests
- Improving the Service and developing features
- Security and prevention of abuse
- Understanding aggregate usage
4.3 Consent
- Optional communications
- Any processing for which we ask you separately
4.4 Legal obligation
- Accounting and tax records
- Responding to lawful requests from authorities
5. Who we share data with
5.1 Processors
We use the following third parties to run the Service. Each processes personal data only on our instructions.
- Cloudflare: hosting, storage, database, edge delivery and machine-learning inference
- Deno Deploy: runs published generator stacks and the schema-comparison engine
- GitHub: OAuth sign-in; and, where you supply a token, reading the repositories you point us at AND writing to them: creating commits and branches, and opening pull requests
- PostHog (EU region): product analytics, including the profile described in 2.4, and the text of searches, conversation messages, answers and answer feedback (7.3)
- Sentry (EU region): error and performance monitoring across our applications
- Turbopuffer: the search index, which holds public account display names, handles and profile text
- OpenAI, Anthropic and Google, through Cloudflare AI Gateway: when you send a message in a conversation, the message, the earlier messages of that conversation and the specification excerpts retrieved to answer it are sent to the model that answers it
5.2 Conversations about private APIs
Conversations about every API, public or private, are answered by the same model. When you hold a conversation about a private API you can read, the provider of the model that answers receives excerpts of that private specification along with your messages.
5.3 Legal requirements
- In response to court orders or legal process
- To comply with law enforcement requests
- To protect our rights or the safety of others
5.4 Public content
Public catalog entries, organisation profiles and account handles are visible to anyone, including search engines and AI assistants that read the site. Private APIs are not.
6. Security
6.1 Technical safeguards
- Encryption in transit
- Access control on every request, by scope and by relationship
- Credentials stored encrypted
- Monitoring and error reporting
6.2 Organisational safeguards
- Role-based access
- Incident response procedures
- Backup and recovery
6.3 Breach response
- We will notify affected users within 72 hours of discovery
- Relevant authorities will be informed as required by law
- We will describe the data affected and the steps taken
7. Retention
7.1 Account data
- Retained while your account is active
- Deleted accounts are purged after a 30-day grace period
- Records required for accounting are kept as long as the law requires
7.2 Usage and diagnostic data
- Product analytics: our analytics processor is configured to a 12-month retention period. Deletion of older events depends on the processor and we do not guarantee its timing; you can ask us to delete your data at any time (section 8)
- Error reports are retained by our monitoring processor under its own retention settings
- Request logs are short-lived and are not intended as a durable record
- Session recordings are kept for 30 days
7.3 Conversations
- A conversation held without signing in is deleted 30 days after its last message
- A conversation held while signed in is kept until you delete it
- If you sign in during a conversation, it moves to your account and is kept until you delete it
- PostHog, our analytics processor, receives the text of your searches, the messages of your conversations, the answers, and your feedback on an answer, including any free-text note. It is tied to you whether you are signed in or anonymous, and we use it to measure the quality of search and answers (3.2)
- PostHog keeps this data for the product analytics retention period in 7.2. Deleting a conversation, or its automatic deletion after 30 days, does not remove it from PostHog. We delete it on request (section 8)
7.4 Legal holds
- Data may be retained longer where required for legal proceedings
8. Your rights
Under the UK GDPR and EU GDPR you have the right to:
8.1 Access and portability
- Request a copy of the personal data we hold about you
- Receive it within 30 days
8.2 Correction and deletion
- Correct inaccurate or incomplete data
- Request deletion of your personal data
- Update your account through the Service
8.3 Limiting processing
- Object to processing based on legitimate interests
- Restrict processing in certain circumstances
- Withdraw consent where processing relies on it
8.4 How to exercise them
Contact us at hello@skmtc.dev with your account email address, a description of your request, and enough information for us to verify who you are.
9. Cookies
9.1 Essential cookies
- Keeping you signed in
- Remembering your preferences
- Security
9.2 Analytics cookies
Our analytics processor sets a cookie in your browser to associate the events described in section 2.4 with your account.
9.3 Managing cookies
- You can block or delete cookies through your browser settings
- Blocking essential cookies will stop you being able to sign in
10. International transfers
10.1 Where data is processed
- Our analytics and error-monitoring processors are configured to their EU regions
- OpenAI, Anthropic and Google, the model providers in 5.1, may process conversations outside the UK and EU, including in the United States
- Other processors may handle data outside the UK and EU
10.2 Safeguards
- Standard Contractual Clauses with processors where required
- Reliance on adequacy decisions where they apply
11. Children's privacy
- The Service is not intended for children under 16
- We do not knowingly collect data from children
- If we discover such data we will delete it
12. Changes to this policy
We will post any change on this page and update the date above. Where a change materially affects how we use your personal data, we will tell you directly.