{"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":"the-legal-minimum-of-a-public-site","title":"The legal minimum of a public site","url":"https://addaly.com/learn/building-apps-with-ai/the-legal-minimum-of-a-public-site","position":82,"of":87,"minutes":9,"answer":"A public site that stores anything about a person needs a privacy notice that lists the third parties the data reaches, a real deletion path that includes the backups.","keyIdea":"A public site that stores anything about a person needs a privacy notice that lists the third parties the data reaches, a real deletion path that includes the backups, and an honest acknowledgement that the rules differ by the user's country and are not settled."},"body":{"format":"markdown","text":"## Not legal advice, and why that is the honest position\n\nThe rules for a public site depend on where you are, where your users are, what you store, and how old your users might be. They differ between the European Union, India, the United States (where they differ between states), Brazil, Nigeria and everywhere else, and several of them have been rewritten in the last few years and will be again. This lesson describes the shape that is common to most of them so that you know what the questions are. It cannot answer them for your app, and neither can a model.\n\n## The privacy notice\n\nNearly every regime requires that you tell people what you collect and what you do with it. The notice is a page, linked from the footer and from sign-up, written in plain sentences, and it says:\n\n- What you store: email, name, the content they create, their IP address in logs.\n- Why: to run the service, to send the emails they asked for, to fix problems.\n- Who else receives it: the host, the database provider, the email service, the error tracker, and (this is the one generated notices omit) **the model provider**, for the AI features, with the provider named and what they retain stated.\n- How long you keep it, including the log retention and the backup retention.\n- How to get a copy, correct it, or have it deleted, and an email address for that.\n\nFree generators produce a template; the template will not know about the model provider or your backup retention, so read it and fix it. A notice that does not match what the app does is worse than none in most regimes.\n\n## Terms\n\nA short page saying what the service is, that it may change or stop, what users may not do with it, and which country's law applies. For a free side project it is mostly protection against the person who treats a hobby app as a contract. Once money changes hands it becomes a real document, and that is the point to have somebody read it.\n\n## Cookies\n\nSession cookies needed to keep somebody signed in are exempt from consent requirements in the European rules, because the site does not function without them. Analytics, advertising and third-party cookies are not, which is why banners exist. An app with a session cookie and nothing else does not need a banner; an app with an analytics script serving EU users generally does. The cheapest compliance is to use a privacy-respecting analytics tool that sets no cookie, or none at all.\n\n## Deletion is a path, not a flag\n\nThe question above is the mistake generated apps make: a soft delete is a display decision, not erasure. A real deletion request runs a path:\n\n1. The soft delete, immediately, so the person disappears from the product.\n2. A hard delete of the rows, after whatever grace period you give for mistakes, by a scheduled job.\n3. The backups expire on their retention schedule, and the notice says so: \"deleted data may persist in backups for up to 30 days\".\n4. Requests to third parties where the data went: the email service's contact record, the error tracker's events, and the model provider's retained inputs if their terms retain any.\n5. What you keep, named: invoices you must retain for tax law, or a record under a legal hold, with the reason.\n\nBuild the job before the first request arrives, because the first request will come with a deadline attached in some regimes: a month is common.\n\n## Age\n\nRules differ on the age below which a service needs a parent's consent: thirteen in the US federal rule, thirteen to sixteen by country in the EU, and under eighteen with parental consent in India's data protection law. A general-audience app usually states a minimum age in its terms and asks for a birth year or a confirmation at sign-up. An app that is *for* children is a different category with much heavier duties everywhere, and the closing lesson of this course names it as one to not build unsupervised.\n\n## The person who can answer\n\nFor a free app with a few hundred users in one country, the notice, the terms, the deletion path and the age line are usually the whole of it, and a careful afternoon produces them. The moments that call for somebody qualified: users in more than one jurisdiction, payments, health or financial data, anyone under eighteen, or a first request from a regulator or a lawyer. At those points the cost of an hour of advice is small next to the cost of guessing, and the model's guess is the cheapest and least reliable of all."},"check":{"question":"A user asks for their account and all their data to be deleted. The app soft-deletes the user row, which hides it from every page. Has the request been fulfilled?","options":[{"text":"Yes, because the data is no longer accessible through the app, which is what deletion means to the user.","correct":false,"tempting":"Hidden is not erased; the rows still exist, are still in the nightly dumps, and are still at any third party the app sent them to."},{"text":"No, because deletion requests cannot be honoured while any legal retention duty might apply to any part of the account, so nothing should be deleted until a lawyer has confirmed that no such duty exists anywhere in the record.","correct":false,"tempting":"Retention duties apply to specific records (invoices, legal holds) not to everything; the rest is deleted, and the retained part is named."},{"text":"Yes, provided the soft delete is followed by a hard delete within the backup retention window.","correct":false,"tempting":"Closer, and still only the database; the copies held by third parties are not touched by anything you do to your own tables."},{"text":"No: the rows remain in the database, in every backup taken since, and at the model provider and email service the app sent them to, and a deletion request reaches all of those or it is not complete.","correct":true}]},"prev":{"slug":"the-first-user-complaint","title":"The first user complaint","url":"https://addaly.com/learn/building-apps-with-ai/the-first-user-complaint"},"next":{"slug":"shipping-changes-without-breaking-what-works","title":"Shipping changes without breaking what works","url":"https://addaly.com/learn/building-apps-with-ai/shipping-changes-without-breaking-what-works"},"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) 'The legal minimum of a public site', in Building Apps with AI. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/building-apps-with-ai/the-legal-minimum-of-a-public-site (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":"The legal minimum of a public site","courseTitle":"Building Apps with AI","module":{"index":9,"slug":"what-it-costs-and-where-this-stops","title":"What it costs, running it, and where this stops"},"answer":null,"keyIdea":"A public site that stores anything about a person needs a privacy notice that lists the third parties the data reaches, a real deletion path that includes the backups, and an honest acknowledgement that the rules differ by the user’s country and are not settled.","hero":{"kind":"plate","image":null,"alt":null,"caption":null},"blocks":[{"t":"h2","id":"not-legal-advice-and-why-that-is-the-honest-position","runs":[{"text":"Not legal advice, and why that is the honest position"}]},{"t":"p","runs":[{"text":"The rules for a public site depend on where you are, where your users are, what you store, and how old your users might be. They differ between the European Union, India, the United States (where they differ between states), Brazil, Nigeria and everywhere else, and several of them have been rewritten in the last few years and will be again. This lesson describes the shape that is common to most of them so that you know what the questions are. It cannot answer them for your app, and neither can a model."}]},{"t":"h2","id":"the-privacy-notice","runs":[{"text":"The privacy notice"}]},{"t":"p","runs":[{"text":"Nearly every regime requires that you tell people what you collect and what you do with it. The notice is a page, linked from the footer and from sign-up, written in plain sentences, and it says:"}]},{"t":"ul","items":[[{"text":"What you store: email, name, the content they create, their IP address in logs."}],[{"text":"Why: to run the service, to send the emails they asked for, to fix problems."}],[{"text":"Who else receives it: the host, the database provider, the email service, the error tracker, and (this is the one generated notices omit) "},{"text":"the model provider","b":true},{"text":", for the AI features, with the provider named and what they retain stated."}],[{"text":"How long you keep it, including the log retention and the backup retention."}],[{"text":"How to get a copy, correct it, or have it deleted, and an email address for that."}]]},{"t":"p","runs":[{"text":"Free generators produce a template; the template will not know about the model provider or your backup retention, so read it and fix it. A notice that does not match what the app does is worse than none in most regimes."}]},{"t":"h2","id":"terms","runs":[{"text":"Terms"}]},{"t":"p","runs":[{"text":"A short page saying what the service is, that it may change or stop, what users may not do with it, and which country’s law applies. For a free side project it is mostly protection against the person who treats a hobby app as a contract. Once money changes hands it becomes a real document, and that is the point to have somebody read it."}]},{"t":"h2","id":"cookies","runs":[{"text":"Cookies"}]},{"t":"p","runs":[{"text":"Session cookies needed to keep somebody signed in are exempt from consent requirements in the European rules, because the site does not function without them. Analytics, advertising and third-party cookies are not, which is why banners exist. An app with a session cookie and nothing else does not need a banner; an app with an analytics script serving EU users generally does. The cheapest compliance is to use a privacy-respecting analytics tool that sets no cookie, or none at all."}]},{"t":"h2","id":"deletion-is-a-path-not-a-flag","runs":[{"text":"Deletion is a path, not a flag"}]},{"t":"p","runs":[{"text":"The question above is the mistake generated apps make: a soft delete is a display decision, not erasure. A real deletion request runs a path:"}]},{"t":"ol","start":1,"items":[[{"text":"The soft delete, immediately, so the person disappears from the product."}],[{"text":"A hard delete of the rows, after whatever grace period you give for mistakes, by a scheduled job."}],[{"text":"The backups expire on their retention schedule, and the notice says so: “deleted data may persist in backups for up to 30 days”."}],[{"text":"Requests to third parties where the data went: the email service’s contact record, the error tracker’s events, and the model provider’s retained inputs if their terms retain any."}],[{"text":"What you keep, named: invoices you must retain for tax law, or a record under a legal hold, with the reason."}]]},{"t":"p","runs":[{"text":"Build the job before the first request arrives, because the first request will come with a deadline attached in some regimes: a month is common."}]},{"t":"h2","id":"age","runs":[{"text":"Age"}]},{"t":"p","runs":[{"text":"Rules differ on the age below which a service needs a parent’s consent: thirteen in the US federal rule, thirteen to sixteen by country in the EU, and under eighteen with parental consent in India’s data protection law. A general-audience app usually states a minimum age in its terms and asks for a birth year or a confirmation at sign-up. An app that is "},{"text":"for","i":true},{"text":" children is a different category with much heavier duties everywhere, and the closing lesson of this course names it as one to not build unsupervised."}]},{"t":"h2","id":"the-person-who-can-answer","runs":[{"text":"The person who can answer"}]},{"t":"p","runs":[{"text":"For a free app with a few hundred users in one country, the notice, the terms, the deletion path and the age line are usually the whole of it, and a careful afternoon produces them. The moments that call for somebody qualified: users in more than one jurisdiction, payments, health or financial data, anyone under eighteen, or a first request from a regulator or a lawyer. At those points the cost of an hour of advice is small next to the cost of guessing, and the model’s guess is the cheapest and least reliable of all."}]}],"check":{"question":[{"text":"A user asks for their account and all their data to be deleted. The app soft-deletes the user row, which hides it from every page. Has the request been fulfilled?"}],"options":[{"text":[{"text":"Yes, because the data is no longer accessible through the app, which is what deletion means to the user."}],"correct":false,"tempting":[{"text":"Hidden is not erased; the rows still exist, are still in the nightly dumps, and are still at any third party the app sent them to."}]},{"text":[{"text":"No, because deletion requests cannot be honoured while any legal retention duty might apply to any part of the account, so nothing should be deleted until a lawyer has confirmed that no such duty exists anywhere in the record."}],"correct":false,"tempting":[{"text":"Retention duties apply to specific records (invoices, legal holds) not to everything; the rest is deleted, and the retained part is named."}]},{"text":[{"text":"Yes, provided the soft delete is followed by a hard delete within the backup retention window."}],"correct":false,"tempting":[{"text":"Closer, and still only the database; the copies held by third parties are not touched by anything you do to your own tables."}]},{"text":[{"text":"No: the rows remain in the database, in every backup taken since, and at the model provider and email service the app sent them to, and a deletion request reaches all of those or it is not complete."}],"correct":true,"tempting":null}],"order":[0,3,2,1],"why":null},"prev":{"slug":"the-first-user-complaint","title":"The first user complaint","minutes":8},"next":{"slug":"shipping-changes-without-breaking-what-works","title":"Shipping changes without breaking what works","minutes":8}}}