Legal
Privacy Policy
Last updated 25 August 2026. Construe is operated by 3sln, which is the data controller for this site and the console, and a processor for the content our customers send through the service.
The short version#
- No advertising, no ad networks, no third-party analytics, no session recording.
- No cookies on the marketing pages. The console stores one credential in your browser's own storage, and that is not a cookie.
- We do not sell or share personal data with anybody, for any purpose.
- Sampling your traffic to improve a parser is opt-in, per workflow, and off by default. Public demo traffic is never sampled.
What we collect#
If you visit the site
Nothing that identifies you. The pages carry no analytics script and set no cookies. Our infrastructure provider keeps short-lived request logs, described below.
If you use a demo
The public demos mint an anonymous ten-minute credential and parse what you type. Demo prompts are not kept and never train anything. A document dropped on the extraction demo is processed and then swept.
If you join the waitlist
Your email address, what you wrote about what you would point Construe at, and which page you asked from. We keep it until you are accepted or until you ask us to delete it, and we use it for nothing except deciding on and administering beta access.
If you have an account
- Your email address, because it is how you sign in. There is no password to store.
- Sign-in links and sessions, stored as digests rather than as usable secrets, and swept once they can no longer authenticate anybody.
- Your team, your membership and your grants, and an audit record of who changed whose permissions, because that is the one change worth being able to review.
- API key records — what was minted, by whom, what it may do and when it expires. The credential itself is signed rather than stored, so there is no list of live secrets in the database.
- Usage counters — how many sessions, parses and documents, per team and per period. Aggregates, never contents.
Content you send through the service
- Prompts. Parsed in an isolate and answered. Not retained unless the workflow's owner has opted that workflow into sampling.
- Documents. Stored while they are being read, and for a short grace period afterwards so a retry has something to read. What is kept beyond that — the extracted page text and the manifest — is governed by the workflow owner's retention setting, and is deleted when it lapses.
- Vocabularies and workflows you author, kept until you delete them.
If you send us personal data inside a document — a receipt has a name on it — we process it on your instructions, as your processor, for the purpose of answering your request. Deciding whether you may send it is yours.
Why we are allowed to#
| Data | Purpose | Basis |
|---|---|---|
| Email, sessions | Signing you in and keeping you signed in | Performance of a contract |
| Team, grants, audit | Deciding what each person may do | Performance of a contract |
| Usage counters | Rate ceilings, billing, capacity | Legitimate interests — running the service |
| Waitlist entry | Deciding on and administering beta access | Consent, which you can withdraw |
| Sampled traffic | Improving a workflow's parser | The workflow owner's instruction, opt-in |
| Request logs | Security and debugging | Legitimate interests — keeping it working |
Where it is processed#
Construe runs on Cloudflare's edge network. Databases, object storage and the code that answers a request are all Cloudflare services, and requests are handled at the location nearest the person making them — so processing may happen outside the country you are in. Cloudflare is our sole infrastructure subprocessor and is bound by its own data processing terms.
Sign-in and invitation mail is sent through Cloudflare's mail relay. Your address is disclosed to it for that purpose and no other.
Where a workflow's evolution loop asks a language model a question, it asks it about sampled cases from that workflow, and only where the owner has opted in. It is never asked about a live request: there is no model in the request path at all.
How long we keep it#
| What | Kept |
|---|---|
| Sign-in links | Minutes to use, then swept within a day |
| Sessions | Until they expire or you sign out, then swept within a day |
| Uploaded documents | While being read, plus a short retry grace |
| Extracted text and manifests | The workflow owner's retention window |
| Sampled cases | Until the workflow's owner deletes them or turns sampling off |
| Waitlist entries | Until accepted, or on request |
| Account and team records | While the account exists |
| Request logs | Cloudflare's own retention, days rather than months |
Your rights#
Depending on where you live you have rights to access, correct, delete, port or object to the processing of your personal data, and to withdraw consent where consent is the basis. Write to contact@3sln.com and we will answer within one month.
If the data is content one of our customers sent through the service, we are the processor and they are the controller — we will point you to them, and act on their instruction.
If you are in the UK or the EU and think we have got this wrong, you may complain to your supervisory authority. We would rather you told us first.
Security#
Secrets are stored as digests or not stored at all: sign-in links and sessions are hashed, and API credentials are signed rather than kept, so the database holds no list of live secrets. Browser credentials are short-lived and narrow by design. Every resource belongs to exactly one team and every read is checked against the caller's grants for that team.
No system is perfectly secure. If you find a vulnerability, please tell us at contact@3sln.com before telling anybody else, and we will work with you.
Children#
Construe is a developer tool and is not directed at children. We do not knowingly collect personal data from anyone under 16.
Changes#
We may update this policy. The date at the top says when it last changed, and material changes are notified to the address on your account.
See also the Terms of Service.