{"course":{"slug":"building-apps-with-ai","title":"Building Apps with AI","url":"https://addaly.com/learn/building-apps-with-ai","level":"beginner","track":"build"},"lesson":{"slug":"telling-users-it-is-ai","title":"Telling users it is AI, and what you send about them","url":"https://addaly.com/learn/building-apps-with-ai/telling-users-it-is-ai","position":67,"of":87,"minutes":7,"answer":"Every AI feature says it is one where it appears, sends the provider no more than the feature needs.","keyIdea":"Every AI feature says it is one where it appears, sends the provider no more than the feature needs, and is built knowing that the rules on disclosure and data differ by country and are still moving."},"body":{"format":"markdown","text":"## Say it where it appears\n\nAn AI-generated summary carries a label (\"Generated by AI\") beside it, not in a settings page or a terms document. A chat assistant introduces itself as one and, asked directly, says so every time. A suggested reply is shown as a suggestion, not inserted as though the user wrote it.\n\nThis is partly a matter of law, which the end of this lesson comes back to, and mostly a matter of not lying to the people using your app. A user who believes a person wrote the reply will act on it differently, trust it differently, and feel differently when they learn otherwise. The label costs nothing and the absence of one costs the thing you cannot buy back.\n\nDo not give the assistant a human name and face and a script for dodging the question. An illustrated portrait rather than a photograph is the right choice if there is a portrait at all (a photorealistic face asserts that a person exists), and the name, if any, is presented as the name of a tool. Addaly's own tutors are drawn, labelled AI on every surface, and answer the question honestly, for exactly these reasons.\n\n## The loading state is part of honesty\n\nBetween the click and the answer there are seconds, and what fills them sets expectations. Streaming text reads as \"being written\". A spinner with no words reads as \"broken\" after three seconds. A skeleton that suggests the shape of the answer, then fills, reads as \"working\". Choose deliberately, and pair it with the sentence from the resilience lesson for when nothing comes.\n\nBeside the output, one short line where it will be read: \"May contain mistakes. Check dates and amounts.\" Put it near the specific thing the model gets wrong for your feature, not as a general disclaimer at the bottom of the page where nobody looks.\n\n## What you are sending, and to whom\n\nEvery call sends the user's text to a company that is not you. The provider's terms say what they do with it: whether it is retained, for how long, whether it is used to train, whether it is reviewed by people, and in which country it is stored. These terms differ between providers and between the free and paid tiers of the same provider (free tiers more often retain and train), and they change. Read the current page for yours, and write down the date you read it.\n\nSend only what the feature needs. A summary of one note does not need the user's name, email or the rest of their notes. A categoriser does not need the receipt image if the amount and merchant are already text. Every field removed from the prompt is a field that cannot leak, cannot be retained, and costs nothing.\n\nLocal models change the answer entirely: text that goes to a model on your own server goes nowhere else. For a feature that touches health, finances or anything a user would not say aloud, that is worth the quality gap.\n\n## Your own logs are the same problem\n\nThe log line from the prompt lesson records inputs and outputs. That is a record of what users typed, held by you, searchable by anyone with access to the logs, for as long as the retention setting says. It is personal data. Decide how long to keep it, redact obvious identifiers before it is written, and put it behind the same access controls as the database. The evaluation set you build from real inputs is a copy with the controls removed; the same care applies.\n\n## The law\n\nDisclosure rules exist and differ. The European Union's AI Act includes transparency duties for systems that interact with people; some US states have laws on bots that must identify themselves in certain conversations; India has issued advisories on labelling AI-generated content; other countries have nothing yet, or something in draft. Data rules (where user text may be sent, whether consent is needed, what must be deletable) differ again: GDPR in Europe, the DPDP Act in India, a patchwork in the US.\n\nThis course cannot tell you what applies to your app, because it depends on where you are, where your users are, and what the feature does, and because these rules are being written now. What it can say is the shape: disclosure is expected almost everywhere and required in a growing number of places; sending personal data to a third party in another country is a regulated act in many; and the cheapest compliance is the honest design (label it, send less, keep less) which also happens to be the right thing to build.\n\nWhen the app handles anything sensitive, or has users in more than one country, that is the point to ask somebody qualified in the relevant jurisdiction. Not a model, and not this lesson."},"check":{"question":"A support chat shows replies from 'Anita' with an illustrated portrait. Anita is a model. A user asks 'am I talking to a real person?' and the prompt instructs the model to change the subject. Which statement is accurate?","options":[{"text":"This is acceptable as long as the terms of service mention that automated tools may be used in support conversations, since every user agreed to those terms when they signed up for the account.","correct":false,"tempting":"A line in the terms is not where the user is; the deception happens at the moment of the question, and several jurisdictions now address exactly that moment."},{"text":"This is fine because the portrait is illustrated rather than a photograph.","correct":false,"tempting":"The drawing helps, and a name plus a scripted evasion still asserts a person; the instruction to dodge the question is the problem."},{"text":"The design deceives at the point of asking; the reply should say it is an AI, and whether it is also unlawful depends on the country, which is a question for a lawyer there.","correct":true},{"text":"It is unlawful everywhere and the feature must be removed.","correct":false,"tempting":"Overstates a legal landscape that differs by country and is changing; the honest position is that it is deceptive everywhere and unlawful in some places."}]},"prev":{"slug":"is-the-feature-actually-good","title":"Is the feature actually good","url":"https://addaly.com/learn/building-apps-with-ai/is-the-feature-actually-good"},"next":{"slug":"security-holes-ai-code-has-by-default","title":"The security holes AI code has by default","url":"https://addaly.com/learn/building-apps-with-ai/security-holes-ai-code-has-by-default"},"authorship":"Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.","review":{"status":"Draft, open for academic review"},"cite":"Addaly (2026) 'Telling users it is AI, and what you send about them', in Building Apps with AI. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/building-apps-with-ai/telling-users-it-is-ai (Accessed: 13 October 2026).","licence":{"name":"CC BY-NC-SA 4.0","url":"https://creativecommons.org/licenses/by-nc-sa/4.0/"},"reader":{"schema":1,"title":"Telling users it is AI, and what you send about them","courseTitle":"Building Apps with AI","module":{"index":7,"slug":"a-model-inside-your-app","title":"Putting a model inside your own app"},"answer":null,"keyIdea":"Every AI feature says it is one where it appears, sends the provider no more than the feature needs, and is built knowing that the rules on disclosure and data differ by country and are still moving.","hero":{"kind":"plate","image":null,"alt":null,"caption":null},"blocks":[{"t":"h2","id":"say-it-where-it-appears","runs":[{"text":"Say it where it appears"}]},{"t":"p","runs":[{"text":"An AI-generated summary carries a label (“Generated by AI”) beside it, not in a settings page or a terms document. A chat assistant introduces itself as one and, asked directly, says so every time. A suggested reply is shown as a suggestion, not inserted as though the user wrote it."}]},{"t":"p","runs":[{"text":"This is partly a matter of law, which the end of this lesson comes back to, and mostly a matter of not lying to the people using your app. A user who believes a person wrote the reply will act on it differently, trust it differently, and feel differently when they learn otherwise. The label costs nothing and the absence of one costs the thing you cannot buy back."}]},{"t":"p","runs":[{"text":"Do not give the assistant a human name and face and a script for dodging the question. An illustrated portrait rather than a photograph is the right choice if there is a portrait at all (a photorealistic face asserts that a person exists), and the name, if any, is presented as the name of a tool. Addaly’s own tutors are drawn, labelled AI on every surface, and answer the question honestly, for exactly these reasons."}]},{"t":"h2","id":"the-loading-state-is-part-of-honesty","runs":[{"text":"The loading state is part of honesty"}]},{"t":"p","runs":[{"text":"Between the click and the answer there are seconds, and what fills them sets expectations. Streaming text reads as “being written”. A spinner with no words reads as “broken” after three seconds. A skeleton that suggests the shape of the answer, then fills, reads as “working”. Choose deliberately, and pair it with the sentence from the resilience lesson for when nothing comes."}]},{"t":"p","runs":[{"text":"Beside the output, one short line where it will be read: “May contain mistakes. Check dates and amounts.” Put it near the specific thing the model gets wrong for your feature, not as a general disclaimer at the bottom of the page where nobody looks."}]},{"t":"h2","id":"what-you-are-sending-and-to-whom","runs":[{"text":"What you are sending, and to whom"}]},{"t":"p","runs":[{"text":"Every call sends the user’s text to a company that is not you. The provider’s terms say what they do with it: whether it is retained, for how long, whether it is used to train, whether it is reviewed by people, and in which country it is stored. These terms differ between providers and between the free and paid tiers of the same provider (free tiers more often retain and train), and they change. Read the current page for yours, and write down the date you read it."}]},{"t":"p","runs":[{"text":"Send only what the feature needs. A summary of one note does not need the user’s name, email or the rest of their notes. A categoriser does not need the receipt image if the amount and merchant are already text. Every field removed from the prompt is a field that cannot leak, cannot be retained, and costs nothing."}]},{"t":"p","runs":[{"text":"Local models change the answer entirely: text that goes to a model on your own server goes nowhere else. For a feature that touches health, finances or anything a user would not say aloud, that is worth the quality gap."}]},{"t":"h2","id":"your-own-logs-are-the-same-problem","runs":[{"text":"Your own logs are the same problem"}]},{"t":"p","runs":[{"text":"The log line from the prompt lesson records inputs and outputs. That is a record of what users typed, held by you, searchable by anyone with access to the logs, for as long as the retention setting says. It is personal data. Decide how long to keep it, redact obvious identifiers before it is written, and put it behind the same access controls as the database. The evaluation set you build from real inputs is a copy with the controls removed; the same care applies."}]},{"t":"h2","id":"the-law","runs":[{"text":"The law"}]},{"t":"p","runs":[{"text":"Disclosure rules exist and differ. The European Union’s AI Act includes transparency duties for systems that interact with people; some US states have laws on bots that must identify themselves in certain conversations; India has issued advisories on labelling AI-generated content; other countries have nothing yet, or something in draft. Data rules (where user text may be sent, whether consent is needed, what must be deletable) differ again: GDPR in Europe, the DPDP Act in India, a patchwork in the US."}]},{"t":"p","runs":[{"text":"This course cannot tell you what applies to your app, because it depends on where you are, where your users are, and what the feature does, and because these rules are being written now. What it can say is the shape: disclosure is expected almost everywhere and required in a growing number of places; sending personal data to a third party in another country is a regulated act in many; and the cheapest compliance is the honest design (label it, send less, keep less) which also happens to be the right thing to build."}]},{"t":"p","runs":[{"text":"When the app handles anything sensitive, or has users in more than one country, that is the point to ask somebody qualified in the relevant jurisdiction. Not a model, and not this lesson."}]}],"check":{"question":[{"text":"A support chat shows replies from ‘Anita’ with an illustrated portrait. Anita is a model. A user asks ‘am I talking to a real person?’ and the prompt instructs the model to change the subject. Which statement is accurate?"}],"options":[{"text":[{"text":"This is acceptable as long as the terms of service mention that automated tools may be used in support conversations, since every user agreed to those terms when they signed up for the account."}],"correct":false,"tempting":[{"text":"A line in the terms is not where the user is; the deception happens at the moment of the question, and several jurisdictions now address exactly that moment."}]},{"text":[{"text":"This is fine because the portrait is illustrated rather than a photograph."}],"correct":false,"tempting":[{"text":"The drawing helps, and a name plus a scripted evasion still asserts a person; the instruction to dodge the question is the problem."}]},{"text":[{"text":"The design deceives at the point of asking; the reply should say it is an AI, and whether it is also unlawful depends on the country, which is a question for a lawyer there."}],"correct":true,"tempting":null},{"text":[{"text":"It is unlawful everywhere and the feature must be removed."}],"correct":false,"tempting":[{"text":"Overstates a legal landscape that differs by country and is changing; the honest position is that it is deceptive everywhere and unlawful in some places."}]}],"order":[3,1,0,2],"why":null},"prev":{"slug":"is-the-feature-actually-good","title":"Is the feature actually good","minutes":7},"next":{"slug":"security-holes-ai-code-has-by-default","title":"The security holes AI code has by default","minutes":10}}}