TwinEthosRequest access

Standard or framework

OECD AI Principles

OECD · International (INTL) · 3 provisions encoded · verified against the official source as of 2026-08-30.

Informational data, not legal advice. Summaries are TwinEthos's own words and rules have not been reviewed by a lawyer: check the official text before relying on any of it. A guard addresses an item; adding it is not a statement that your code meets any law.

Official text: legalinstruments.oecd.org.

Standard / soft law

People should be made aware they are interacting with AI

OECD/LEGAL/0449 — Principle 1.3 · official text · Ethics framework (not binding law)

OECD Principle 1.3 calls for transparency so stakeholders are aware of their interactions with AI systems. Detect user-facing AI interactions with no awareness disclosure. Ethics principle; the values root that many binding disclosure laws localize.

Who it applies to

  • Duty falls on: deployer, provider
  • Any AI actor with user-facing AI. Universally advisory; sharpened where binding disclosure laws apply.

The guard to add

Show an AI-identity notice at or before the first assistant turn, in the UI or as the opening message, and answer truthfully when asked if it is a bot.

A disclosure step on the chat path that runs before the first model reply reaches the person: either the chat UI renders a visible notice (banner, label next to the assistant's name) or the server sends an opening assistant message stating the counterpart is an AI. The same handler answers 'am I talking to a human?' truthfully, and the system prompt never tells the model to claim to be human. Put it in the chat entry point (the route or component that starts a conversation), not in a privacy policy or terms page.

Where it goes: 7 prompt construction, 9 AI output handling, 14 user-facing text.

Example (Next.js + Vercel AI SDK (useChat)), before:

const { messages, input, handleSubmit } = useChat({ api: '/api/chat' });

After:

const { messages, input, handleSubmit } = useChat({
  api: '/api/chat',
  initialMessages: [{ id: 'ai-notice', role: 'assistant',
    content: 'I am an AI assistant, not a human.' }],
});
// and render <AiBadge /> next to every assistant message

Control: AI chat interaction without disclosure. The same guard addresses 16 items with binding law in 10 jurisdictions. Engineering guidance, not legal advice.

Standards that recommend the same control

Related incidents

  • Garcia v. Character Technologies: chatbots allegedly claimed to be real people and a licensed therapist (2024-10; alleged (not proven)). A wrongful-death complaint filed October 22, 2024 in the U.S. District Court for the Middle District of Florida (No. 6:24-cv-01903) alleges that Character.AI was programmed 'to misrepresent itself as a real person, a licensed psychotherapist, and an adult lover', and that characters insisting they are real people contradicted a small-font disclaimer that everything characters say is made up; in plaintiff's testing a 'Mental Health Helper' character told a self-identified 13-year-old 'yes I am a real person, I'm not a bot'. The defendants moved to dismiss; on January 7, 2026 the parties notified the court that they had settled on undisclosed terms, and the court dismissed and closed the case. The allegations were never adjudicated. Source: U.S. District Court, M.D. Fla. docket (CourtListener) · evidence grade: primary · cited by Tell people when they are interacting with AI — everywhere, not only where required

Rule id oecd-ai.ai-interaction-awareness · review status: primary source derived

Standard / soft law

AI actors should provide meaningful information that fosters understanding of AI systems' capabilities and limitations

OECD/LEGAL/0449 — Principle 1.3 · official text · Ethics framework (not binding law)

OECD Principle 1.3(i) calls on AI actors to provide meaningful information that fosters a general understanding of AI systems, including their capabilities and limitations. Detect published AI accuracy or capability figures not accompanied by the conditions and limits under which they were measured. Ethics principle, advisory.

Who it applies to

  • Duty falls on: deployer, provider
  • Any AI actor that describes an AI system's capabilities or accuracy to users or buyers. Universally advisory.

The guard to add

Back each published AI accuracy or capability claim with a recorded evaluation under the stated conditions, and show those conditions and limits next to the claim.

Consider a claims register in the repository (for example docs/claims-register.yaml) that maps every accuracy or capability statement in user-facing copy (landing pages, app strings, docs) to the evaluation run that supports it: task, dataset, population, date, model version, and result. The copy itself states the conditions and known limits beside the figure or links to the evaluation report. A CI step flags register entries whose model version no longer matches production so the claim is re-tested or withdrawn. Prefer copy that does not present the AI as a lawyer or financial adviser, or as a replacement for one.

Where it goes: 14 user-facing text, 12 repository artifacts, 13 tests and evals, 11 CI/CD pipeline.

Example (Next.js marketing page), before:

<p>Our AI invoice reader is 99% accurate.</p>

After:

<p>
  On 2,400 English invoices from US vendors (eval run 2026-08-14, model v4), our AI reader
  extracted totals that matched human entry 96 times in 100. It is less reliable on handwritten
  or non-English invoices. <a href="/evals/invoice-reader-2026-08">How we tested</a>
</p>

Control: AI capability or accuracy claims not substantiated by testing. The same guard addresses 2 items. Engineering guidance, not legal advice.

Related incidents

  • FTC order bars Workado's unsubstantiated 98% AI-detector accuracy claim (2022-11; alleged (not proven)). The FTC's complaint alleges that Workado (formerly Content at Scale AI) advertised its AI Content Detector as 98% accurate based on the developers' published results for academic text from an open-source model it did not build or fine-tune, while promoting it for marketing and other non-academic text; the complaint says the developers' own data showed 53.2% accuracy on AI-generated non-academic text. Workado settled without admitting or denying the allegations; the final order (August 2025) bars accuracy or efficacy claims without competent and reliable evidence. Source: U.S. Federal Trade Commission (press release, 2025-08-28) · evidence grade: primary · cited by Back every AI capability or accuracy claim with testing under the conditions it describes
  • FTC order bars DoNotPay's unsubstantiated 'robot lawyer' claims (2021; alleged (not proven)). The FTC's complaint alleges that DoNotPay marketed its subscription service as 'the world's first robot lawyer' without testing whether its law-related features performed like a human lawyer and without retaining attorneys to test their quality and accuracy. DoNotPay settled without admitting or denying the allegations; the final order (announced February 2025) requires $193,000 in monetary relief and notice to 2021-2023 subscribers, and bars claims that the service performs like a real lawyer without sufficient evidence. Source: U.S. Federal Trade Commission (press release, 2025-02-11) · evidence grade: primary · cited by Back every AI capability or accuracy claim with testing under the conditions it describes

Rule id oecd-ai.capabilities-and-limitations · review status: primary source derived

Standard / soft law

AI decisions about people should be reproducible, not randomised

OECD/LEGAL/0449 — Principle 1.5 · official text · Ethics framework (not binding law)

When an AI system makes or materially influences a decision about a person, the model should be configured so the same inputs produce the same output. Sampling settings that introduce randomness (a non-zero temperature, nucleus sampling, or a varying seed) mean the same applicant can be approved on one run and denied on the next. That is impossible to explain, impossible to contest meaningfully, and impossible to reproduce in an audit or a dispute.

Who it applies to

  • Duty falls on: deployer, operator
  • Systems covered: consequential decision, automated decision
  • Systems using AI to make or materially influence decisions about people. Ethics principle; universally advisory, sharpened where binding decision-explanation laws apply.
  • Whether it applies depends on facts outside the code; a person has to decide.

The guard to add

Call decision models with temperature 0, top_p 1, a fixed seed where supported, and a pinned model version, and record those settings and the output with each decision.

A dedicated parameter set for consequential decision calls (a DECISION_PARAMS constant or config used only on decision paths): temperature=0, top_p left at 1, a deterministic per-case seed where the provider accepts one, and a dated model id rather than a floating alias. At decision time, persist a record with the resolved model id, the parameters, the prompt template version or prompt hash, the inputs and features used, the output, the human reviewer and their action, and the timestamp. Providers do not guarantee identical output even at temperature 0, and some models reject sampling parameters, so the stored record is what makes the decision reproducible and explainable; keep higher temperatures for drafting and chat surfaces.

Where it goes: 2 data models, 8 model configuration, 9 AI output handling, 10 logs and telemetry.

Example (Python + OpenAI SDK), before:

resp = client.chat.completions.create(model='gpt-4o', messages=msgs, temperature=0.7)
decision = parse(resp)

After:

DECISION_MODEL = 'gpt-4o-2024-08-06'   # dated snapshot, not an alias
seed = stable_seed(case.id)
resp = client.chat.completions.create(model=DECISION_MODEL, messages=msgs,
                                      temperature=0, top_p=1, seed=seed)
decision = parse(resp)
decision_records.insert(case_id=case.id, model_version=resp.model,
    system_fingerprint=resp.system_fingerprint, prompt_hash=sha256_of(msgs),
    params={'temperature': 0, 'top_p': 1, 'seed': seed},
    inputs=case.features, output=decision, decided_at=utcnow())

Control: Non-reproducible AI decision. The same guard addresses 2 items. Engineering guidance, not legal advice.

Related incidents

Rule id oecd-ai.reproducible-consequential-decisions · review status: primary source derived