Skip to content
Our own record

We run Conformly on Conformly

We have no customer logos to show you, no audit report and no certificate. What we can show you is our own record: every AI system we operate, how our own engine classifies it, the exact words of the transparency notice we ship, and the list of things we have not done. Every line below is checkable against this product or our published source — which is the only reason it is worth reading.

Last reviewed: 10 August 2026·Next review: 10 February 2027
1 — Inventory

Our own AI systems

An AI inventory is the first thing the Act asks a company to be able to produce, and the first thing most vendors ask their customers for without publishing their own. Here is ours.

In-app compliance assistant

Limited risk — transparency obligations

Answers questions about a customer's own AI Act status and about the Act itself, grounded in their workspace data and our curated knowledge base.

Binding provisions: Art. 50(1)
It is an AI system that interacts directly with a natural person, so the person must be informed they are interacting with AI. Our own Article 50 engine returns exactly this duty for a system that answers 'yes' to the chatbot question.
Model provider
Anthropic PBC (api.anthropic.com) or OpenAI, L.L.C. (api.openai.com) — whichever key the instance is configured with. The model name is configuration, not code.
Where processing happens
The model call leaves the EU: both providers process in the United States. This is the same transfer named in our Privacy Policy, not a separate one.
Availability
Optional and off by default. With no provider key set, the assistant still answers — from a rule-based path over your own data and the knowledge base, with no model call and no data leaving our servers. The feature is additionally gated to the Pro plan.

What we send

  • Your question, as typed.
  • A compact snapshot of your workspace: organisation name, overall completion percentage, done/total task counts, each AI system's name, risk label and percentage, the titles of open tasks, the count of completed tasks with no evidence, and your next AI Act deadline.
  • Up to three matching entries from our own AI Act knowledge base.

What we do not send

  • Evidence files. The snapshot builder counts evidence records; it never reads their contents or filenames.
  • Uploaded documents, policy bodies or attachments.
  • User account identifiers — no names, no email addresses, no password material.
  • Anything belonging to another organisation: the snapshot is built from a single org id.

Evidence this produces

  • The permanent on-screen notice reproduced below, which is what Art. 50(1) actually asks for.
  • An append-only audit entry per generation call, with actor, action and timestamp.
  • A rate limit of 20 assistant generations per hour per client address.

Where this lives:src/lib/copilot.tssrc/lib/ai.tssrc/app/api/assistant/generate/route.tssrc/components/app/copilot-chat.tsx

AI document drafting (“draft the gap”)

Minimal risk — with an Art. 50(2) question we answer in the open

Writes a first draft of one empty section of a compliance document or of Annex IV technical documentation, grounded strictly in the facts already recorded for that AI system.

Binding provisions: Art. 50(2), Art. 14 (by analogy)
It generates synthetic text, which is what Art. 50(2) is about. We do not claim the marking duty is settled for a drafting aid whose output a named human edits and signs before it becomes a document — that is a contested reading and we are not going to pretend otherwise. What we do instead is concrete: the server never saves a draft, every draft is returned to an editor for a person to accept or reject, and it is returned with the label reproduced below.
Model provider
Anthropic PBC (api.anthropic.com) or OpenAI, L.L.C. (api.openai.com) — whichever key the instance is configured with.
Where processing happens
United States, at the model provider, for the duration of the call.
Availability
Optional, off by default, Pro plan only. With no provider key the endpoint refuses the request rather than degrading — there is no silent fallback that would let an ungrounded draft through.

What we send

  • The section title and the guidance text for that one section.
  • A facts block for that one AI system: organisation name, employee count and annual turnover, the system's name, role, status, EU exposure and purpose, its models, data types and affected persons as you entered them, its risk classification with the reasons our engine gave, per-category task progress, and the titles of your approved policies.

What we do not send

  • Evidence files or their contents.
  • Anything from another organisation — the system lookup is scoped by org id, and an unknown or foreign system id is a 404, never a cross-tenant read.
  • The bodies of your approved policies; only their titles.

Evidence this produces

  • The draft is returned, never stored by the server, so nothing enters your record without a human saving it.
  • The instruction to the model forbids inventing facts, figures, certificates, standards or vendors, and requires a bracketed placeholder where a detail is missing.
  • An append-only audit entry per draft, plus a limit of 20 drafts per hour per client address.

Where this lives:src/lib/ai-drafts.tssrc/app/api/assistant/draft/route.tssrc/lib/ai.ts

Policy template adaptation

Minimal risk — human-adopted output

Takes one of our governance policy templates and adapts its tone and scope to the customer's company profile.

Binding provisions: Art. 50(2)
Same synthetic-text question as the drafting system, and the same answer: the output is a draft a person reviews, edits and approves inside the policy workflow before it means anything. We treat the human approval step as the control, and we say so rather than implying a marking scheme we have not built.
Model provider
Anthropic PBC (api.anthropic.com) or OpenAI, L.L.C. (api.openai.com) — whichever key the instance is configured with.
Where processing happens
United States, at the model provider, for the duration of the call.
Availability
Optional, off by default, Pro plan only. Refuses when no provider key is set.

What we send

  • Your organisation name, employee count and annual turnover.
  • The policy template itself — our text, not yours.

What we do not send

  • Any AI system record, task, evidence file or workspace document.
  • User account identifiers.

Evidence this produces

  • The same instruction guard as drafting, which forbids inventing legal obligations beyond the template.
  • An append-only audit entry per generation, and the shared 20-per-hour limit.

Where this lives:src/app/api/assistant/generate/route.tssrc/lib/ai.ts

2 — Transparency

Our own Article 50 notices, word for word

Not a description of our notices — the strings themselves, as shipped. Copy them if they are useful to you.

The assistant's opening message, before you have typed anything.

You're chatting with an AI assistant, not a person. It can make mistakes — ask for a human at any time.

The old opening said only that it was an “AI Act compliance copilot”. The letters A and I there belong to the name of a regulation, not to a statement about who is answering. That is the sort of thing that passes an internal review and fails a real one.

src/components/app/copilot-chat.tsx

A band across the top of the chat surface. Always visible, no dismiss control.

You're chatting with an AI assistant, not a person. It can make mistakes — ask for a human at any time at support@getconformly.com.

Permanent rather than a one-time modal, because a notice you can dismiss stops informing the next person who reads the screen. It also carries the route to a human, which is the part a notice without a contact address quietly omits.

src/components/app/copilot-chat.tsx

Returned with every AI-written draft, before a human can save it.

AI-generated draft — review before approving.

Attached at the point of generation rather than in a tooltip somewhere, so the label cannot be separated from the text it describes.

src/app/api/assistant/draft/route.ts

Above the chat, whenever the instance has no model provider configured.

Running in rule-based mode — answers use your data + the AI Act knowledge base. Set an AI key for free-form answers.

Telling a user which engine answered them is not required by Article 50. We show it because “is a model reading my compliance record right now” is a question a customer is entitled to answer without asking us.

src/components/app/copilot-chat.tsx

The exemption we do not use

Our assistant sits inside a compliance product, is labelled an assistant, and answers instantly — so we could argue the AI nature is obvious from context and skip the notice entirely. That is precisely the argument we tell customers not to build a compliance position on, and we do not build ours on it either: the notice is shown, permanently, whether or not it is strictly required.

If you want the same question answered for your own system, our Article 50 readiness checker walks the four triggers and returns the duty list.

3 — Determinism

A model never decides your risk class

This is the commitment we would most like you to try to break, because it is the one that decides whether our output can survive being shown to a regulator.

Risk classification

Turns normalised yes/no signals into a risk class under Art. 5, Art. 6(1), Art. 6(2), Art. 6(3) and Art. 50, with the reasons that produced it.

A classification is the one output a customer will put in front of a regulator. It has to be reproducible, explainable line by line, and identical for the same inputs a year from now. A model cannot promise that.

content/classify.ts

Continuous control monitoring

Evaluates each monitoring control against the organisation's own records on a schedule and records PASS or FAIL.

A PASS is a claim we are asking an auditor to accept. Every check is rule-based over your data, so it can be re-run and disputed.

content/controls.ts, src/lib/controls/checks.ts

ISO 42001 Annex A control status

Folds your Statement of Applicability attestation together with the latest machine PASS/FAIL into one state per control.

Never stored and never model-derived — computed on read from two auditable inputs, so a green control always has a traceable reason.

src/lib/iso42001/status.ts

How to check this yourself

The classification engine makes no network call and consults no model.
Open content/classify.ts. It has no import statements at all — no HTTP client, no SDK, no model access, nothing it could reach the network through. It also reads no clock and draws no random number, so the same signals return the same class forever.
The same function decides, wherever you are standing.
The in-app wizard calls classify() in your browser to show the live preview, and the server calls the same exported classify() again when the result is saved. The free checker classifies on the server. One function, three call sites — a client that disagreed with the server would be a bug, not a policy.
No model can reach the classification, even indirectly.
The instruction sent with every drafting and assistant generation call states that the model must never determine, change or guess a risk classification. The classification is passed to the model as an established fact in the grounding block, and no route writes a risk class from a model response.
The rules are pinned by tests, not by intention.
tests/classify.test.ts holds more than forty cases over the engine, including the Art. 6(3) derogation and its profiling carve-out. Run npx vitest run classify to execute them.
4 — ISO/IEC 42001

Where we actually stand on ISO 42001

Read the first item before the other two.

We hold no ISO/IEC 42001 certificate
There is no accredited certification body that has audited Conformly against ISO/IEC 42001, and there is no certificate, no badge and no 'in progress toward certification' timeline we are prepared to state as though it were one. If your procurement checklist has a line for this, we do not meet it today.
We have not completed a Statement of Applicability for ourselves
The product asks customers to attest, control by control, which Annex A controls apply to them and why. We have not run that exercise on our own management system. Saying we have 'implemented the controls internally' without that record would be the unaudited self-assertion we tell customers not to accept from a vendor.
What does exist is the catalogue and the machinery
We maintain the full ISO/IEC 42001:2023 Annex A control catalogue in the product, each control mapped to the deterministic monitoring checks and EU AI Act obligation keys that can supply machine evidence for it. That is engineering work on a product, not a statement about our own certification status, and we are not going to let the two be read as the same thing.
5 — Gaps

What we have not done

The most important section on this page. A record that lists only what is finished tells you nothing, because every vendor has written one of those.

Open, and stated plainly
No SOC 2 report
We have completed neither a SOC 2 Type I nor a Type II examination and hold no report. If your process requires one, we cannot satisfy it today. See the full security gap list.
No ISO 27001 certificate
We are not audited against ISO/IEC 27001 and display no badge for it. Our internal controls are modelled on it, which is not the same thing and will not be presented as if it were. See the full security gap list.
No external penetration test
No independent security firm has tested this application. The hardening described on our security page is our own work, checked against our own running system — it has not been reviewed adversarially by anyone with no stake in the answer. Security.
No independent accessibility audit, and known barriers open
Our WCAG 2.1 Level AA position is a self-assessment, we publish no VPAT, and there is a public list of barriers we have found and not yet fixed — including untagged PDF exports and contrast failures on parts of the public site. Read the known non-conformances.
No customer references, no logos, no case studies
We have no named customer willing to be quoted, so we show none. The customer-story list in this codebase is deliberately empty and the home page hides that section rather than filling it with invented companies. When a real customer agrees, one entry goes in and it appears everywhere; until then, this page is the only proof we have.
No third-party review of this page
Everything above is our own assessment of our own systems, written by the people who built them. It is checkable — that is the whole design — but it has not been checked by anyone else.
Our own supply chain is not EU-only
We operate from Türkiye and access production remotely from outside the EEA, and the optional AI features send text to a model provider in the United States. Both are named in our Privacy Policy, and we do not describe our supply chain as entirely European. Privacy Policy.

An item leaves this list when it is done, not when it is planned. We publish no target date we are not in a position to keep.

6 — Questions

Questions buyers actually ask us

The same answers we give in a procurement call, written down so you do not have to book one.

Is Conformly itself a high-risk AI system?
No. Compliance software that classifies systems and drafts documentation does not fall into any Annex III use case — it makes no decision about a person's access to employment, education, credit, benefits or justice. Our own engine classifies the in-app assistant as limited risk, carrying Article 50(1) transparency obligations, and the drafting features as minimal risk. Nothing we run is high risk, and nothing we run is prohibited.
Does an AI model decide my risk classification?
No, and it cannot. Classification runs on a rule-based engine in content/classify.ts that imports nothing, calls no network, reads no clock and produces the same class for the same inputs every time. The browser preview and the server both call that one function. The instruction sent with every model call forbids the model from determining, changing or guessing a classification, and no route writes a risk class from a model response.
What is actually sent to the AI provider?
Only when the optional assistant is enabled, and only for the request you make: your question, a compact snapshot of your workspace (organisation name, completion counts, system names with their risk labels, open task titles, next deadline) and matching entries from our knowledge base. For drafting, the facts recorded for the one system you are drafting about. Evidence files, attachments, policy bodies and user account identifiers are not sent. The provider is Anthropic or OpenAI, in the United States, and it is named in our Privacy Policy.
What happens if no AI provider is configured?
The assistant keeps working from a rule-based path over your own data and our knowledge base, no text leaves our servers, and a banner tells you which mode you are in. The drafting endpoints refuse the request outright rather than falling back to something ungrounded.
Do you hold a SOC 2 report or an ISO certificate?
No. There is no SOC 2 report, no ISO/IEC 27001 certificate and no ISO/IEC 42001 certificate. We have not been audited by an external security firm and our accessibility conformance claim is a self-assessment. All of it is listed on this page and on our security and accessibility pages, in the same words, with no date we cannot commit to.
Why publish your own gaps?
Because a vendor page listing only strengths carries no information — every vendor has written one. We have no customers to point at and no badges to display, so the only honest evidence we can offer is the record itself: what we run, how it is classified, the notice we ship, and what is missing. If any line here turns out to be wrong, it is wrong in a way you can demonstrate, and we would rather that than a claim nobody can check.

How and when this page is reviewed

  • Method: our own AI systems are re-listed from the code that runs them, re-classified with the same engine customers use, and each claim is re-checked against the file it comes from.
  • Scope: the AI features of the Conformly product and our own position under the EU AI Act. Data protection is in the Privacy Policy, infrastructure in Security, and interface barriers in the Accessibility statement.
  • Last reviewed: 10 August 2026.
  • Next scheduled review: 10 February 2027, and after any change to how our AI features work.
  • Found something wrong? Tell us at support@getconformly.com and we will correct it here rather than argue about it privately.