Skip to the content
Menu: Telling people it's an AI

Telling people it's an AI

People must always know when they are talking to an AI. In the EU it's the law (the AI Act, Article 50), and an avatar that looks like a real person counts as a "deep fake": it needs a label people can see for the whole conversation, and a notice when the conversation starts. Zentiq builds this in. When your app draws the screen, part of it is yours.

What Zentiq does#

On every screen Zentiq draws (the website widget, visitor and candidate pages, embedded portals and the console), minimised, inline, on a phone and in full screen:

  • An AI label on the avatar for the whole conversation, with text for screen readers. You can change its wording per avatar, as long as it still says it's an AI. It can't be switched off.
  • A short notice when the conversation starts, in the conversation's language ("You're speaking with an AI avatar.").
  • The truth whenever asked. The avatar never claims or suggests it's a person, in a role-play too, and always says it's an AI when someone asks.
  • Say it's an AI at the start, a setting for your organisation or for each subject. On Automatic, the avatar's own first line also says it's an AI for under-18s, job interviews, and health, finance, insurance or complaints services; elsewhere the label and the notice say it. You can set it to always or never.
  • A machine-readable mark. aiGenerated: true on sessions, their analytics and transcripts (each turn says whether the avatar wrote it), session tokens, avatars and duos; on webhook deliveries whose data carries an avatar's words (a summary, a report, an avatar's turn); and on the results of AI apps connected to Zentiq. Pictures Zentiq makes or changes carry the industry's "AI-generated" mark in their metadata.

When your app draws the screen#

POST /v1/sessions/tokens answers with disclosure:

FieldWhat it is
requiredAlways true.
labelThe short label for the video, in the session's language, or the avatar's own wording.
textThe notice to show when the session starts.
languageThe language of label and text, as a code.
display"whole_session": the label stays for the whole session.
ruleWhat your app must do, in one sentence.
ownLabeltrue only when an owner of your organisation has confirmed that your app shows its own label (below).

The browser SDK and the React components draw the label on the video and show the notice for you, by default. You may restyle the label or move it:

TypeScript
const session = await joinSession(token, {
  video: document.querySelector("#avatar")!,
  aiLabel: { position: "top-right", className: "my-ai-label" },
});

You can't hide it with a style: what keeps it visible is set so a style sheet can't override it, and a label removed from the page comes back while the session runs.

Showing your own label instead#

An owner of your organisation can confirm, in the console under More → Compliance → The AI label in your own app, that your app shows its own label for the whole of every session and a notice at the start. From the next session, disclosure.ownLabel is true, and aiLabel: { show: false } hides the SDK's label. Without that confirmation, show: false is ignored. An owner can withdraw it at any time.

Your own label must:

  • say it's an AI in words people understand (use disclosure.label, which is in the session's language);
  • stay visible on or right next to the avatar's video for the whole session, including on a phone, when your window is minimised and in full screen (put the video's container in full screen, not the video itself: a phone's own video player hides everything drawn over the video);
  • come with the notice when the session starts (disclosure.text);
  • carry text for screen readers, and never be covered.

Keep the mark#

Keep aiGenerated with anything you store or pass on from Zentiq (a transcript, a summary, a picture), and don't strip the metadata from pictures. Your own terms still apply: you, as the business using the avatar, remain responsible for how you show it to people.