{"id":155,"date":"2026-10-09T13:13:26","date_gmt":"2026-10-09T05:13:26","guid":{"rendered":"https:\/\/portraitor.ai\/blog\/?p=155"},"modified":"2026-10-19T13:00:46","modified_gmt":"2026-10-19T05:00:46","slug":"can-you-tell-if-a-message-was-written-by-ai","status":"publish","type":"post","link":"https:\/\/portraitor.ai\/blog\/can-you-tell-if-a-message-was-written-by-ai","title":{"rendered":"Can you tell if a message was written by AI?"},"content":{"rendered":"\n<p class=\"pp-short wp-block-paragraph\">Portraitor&#8217;s privacy policy says the analysis estimates whether messages appear to have been written with the help of an AI tool, and that every inference it produces carries an estimate of confidence. That is a guess with a number attached to it, not a finding, and it is made on text that has already had the names and numbers stripped out of it on your own device.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">People ask this about a dating match, a job applicant, a colleague&#8217;s unusually smooth apology. It is worth separating what a tool like this actually does from what the question is hoping for, because the gap between them is where most of the disappointment lives.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What the policy says it estimates<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <a href=\"https:\/\/portraitor.ai\/privacy\">privacy policy<\/a>, version 1.3, lists what the analysis infers about a participant in a conversation. Most of the list is about how someone writes and comes across. At the end of it the policy adds that the analysis also estimates the language of the conversation and whether messages appear to have been written with the help of an AI tool.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Two words in that sentence are doing a lot of work. <em>Estimates<\/em>, and <em>appear<\/em>. The policy does not say the analysis identifies AI written messages, and it does not say it checks them. It says it forms a view about how they appear, and the same paragraph says each inference comes with an estimate of confidence.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Portraitor publishes no accuracy figure for this or for anything else, and this page is not going to supply one. There is no study behind a number, so there is no number.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why an estimate is not proof<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A confidence figure is a claim the system makes about its own output. It is not an independent check on that output, and nothing about it gets more reliable because it is expressed as a percentage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This matters more here than almost anywhere else in a portrait, because the question has a yes or no shape. A reader who sees a high figure next to a sentence about AI assistance will tend to hear it as a verdict about a person, and that is precisely the reading the policy&#8217;s wording does not support. The honest version is that some messages read the way machine assisted writing often reads, and that is all.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/portraitor.ai\/blog\/why-personality-descriptions-feel-accurate\">Why personality descriptions feel accurate<\/a> covers the other half of this problem, which is how readily a general statement feels specific once it is addressed to you.<\/p>\n\n\n\n<p class=\"pp-warn wp-block-paragraph\">Nothing in a portrait is a finding about anybody, and no part of it is a reason to act on a conclusion about another person.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">It never reads the message you actually sent<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the part most people do not expect, and it is the most checkable thing on this page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The privacy policy says that before any part of your conversation is transmitted, your browser removes names, email addresses, telephone numbers, postal addresses and credentials and replaces them with anonymous placeholders, and that this happens entirely on your own device. The list matching those placeholders back to real values never leaves your browser. So the text that reaches the analysis is not the conversation as it was written. It is a version of it with a specific class of detail swapped out.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The policy also says photographs, videos and voice recordings are never opened and never transmitted, and that only the written messages are read, on the device, with only their masked text sent on. A voice note is therefore outside the question entirely. So is an image of text.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">None of that is a flaw being confessed. It is the design, and <a href=\"https:\/\/portraitor.ai\/blog\/is-it-safe-to-upload-your-chat-history\">is it safe to upload your chat history<\/a> goes through it properly. But it does bound what any judgement about wording can be based on, and a tool that sends your messages unaltered to a model has no such bound and no such protection either.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The guess is a by-product, not the product<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Portraitor exists to produce a portrait of one participant in a conversation. The policy describes the AI assistance estimate as one line in a longer list of inferences, sitting beside the estimate of which language the conversation is in.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That ordering is the useful signal. If your question is about a person, the portrait is the thing, and this line is a footnote to it. If your question is only whether a particular paragraph came out of a chatbot, you are buying a portrait to read one footnote, which is a poor trade at any price.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/portraitor.ai\/blog\/what-chat-analysis-cannot-tell-you\">What a chat analysis cannot tell you about someone<\/a> is the fuller list of things to not expect.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">If that is the only thing you want to know<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Then this is probably not the tool, and saying so is more use to you than a page of reasons it might be.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Portraitor reads a whole exported conversation and returns a reading of one person in it. It accepts exports from WhatsApp, Telegram, Messenger and Instagram, as the <a href=\"https:\/\/portraitor.ai\/\">home page<\/a> sets out, and it is bought one portrait at a time or by the month. <a href=\"https:\/\/portraitor.ai\/blog\/analyse-my-whatsapp-chat-with-ai\">Analyse my WhatsApp chat with AI<\/a> describes what comes back.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What it is good for is the slower question underneath the fast one. Not whether one message was drafted by a machine, but how a person writes across months of conversation, and whether the voice in the recent messages is the same voice as before. A portrait answers that shape of question. <a href=\"https:\/\/portraitor.ai\/blog\/what-chatgpt-knows-about-you\">What does ChatGPT actually know about you<\/a> is worth reading first if you have been asking a chatbot about yourself instead.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The language the conversation is written in is estimated the same way, as an output carrying a confidence figure rather than a setting you supply at the checkout. <a href=\"https:\/\/portraitor.ai\/blog\/chat-analysis-in-another-language\">Chat analysis in another language<\/a> sets out what the published pages do and do not say about that.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the plan is to ask a general assistant about a conversation rather than a tool built for it, the thing worth following is the file. <a href=\"\/blog\/chatgpt-or-a-chat-analyser\">ChatGPT or a chat analyser<\/a> sets out what leaves your phone on each route, and whose terms it lands under.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently asked questions<\/h2>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Does Portraitor say whether a message was written by AI?<\/summary>\n<p class=\"wp-block-paragraph\">Its privacy policy says the analysis estimates whether messages appear to have been written with the help of an AI tool, and that each inference carries an estimate of confidence. It describes an estimate, not an identification.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>How accurate is that estimate?<\/summary>\n<p class=\"wp-block-paragraph\">Portraitor publishes no accuracy figure for it, and no published study of it exists, so there is no honest number to give. Reading the confidence figure as an accuracy rate would be a mistake, because it is the system&#8217;s own view of its own output.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Does it analyse the message exactly as it was written?<\/summary>\n<p class=\"wp-block-paragraph\">No. The policy says names, email addresses, telephone numbers, postal addresses and credentials are replaced with anonymous placeholders in your browser before anything is transmitted, and that the list matching them back never leaves your device.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Can it check a voice note or a screenshot?<\/summary>\n<p class=\"wp-block-paragraph\">No. The policy says photographs, videos and voice recordings are never opened and never transmitted, and that only the written messages are read.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Is there a way to prove a message came from a chatbot?<\/summary>\n<p class=\"wp-block-paragraph\">Not from a chat export, and no tool reading one can give you proof. What an export supports is a view about how the writing reads across a long conversation, which is a different and weaker thing than proof.<\/p>\n<\/details>\n\n\n\n<p class=\"wp-block-paragraph\">How a reader builds a picture of someone from written words alone has its own name and its own experiments. <a href=\"https:\/\/portraitor.ai\/blog\/hyperpersonal-model\">The hyperpersonal model<\/a> covers that.<\/p>\n\n\n\n<p class=\"pp-closing wp-block-paragraph\">The useful question is rarely whether one message was machine written. It is whether the voice in a conversation has changed, and that takes the whole conversation to answer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Portraitor&#8217;s policy says the analysis estimates whether messages appear to have been written with the help of an AI tool. What that estimate is, what it is made from, and why it is not proof.<\/p>\n","protected":false},"author":6,"featured_media":156,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"pp_title_highlight":"","pp_meta_title":"","pp_meta_description":"Can you tell if a message was written by AI? Portraitor's policy says it estimates this, with a confidence figure that is not proof.","pp_sidebar_cta":"{\"variant\": \"light\", \"heading\": \"Estimates, with the limits stated\", \"bodyHtml\": \"Every inference carries an estimate of confidence, which is the system's view of its own output rather than a check on it.\", \"label\": \"See how Portraitor works &rarr;\"}","pp_sources":"[{\"html\": \"Portraitor, <em>Privacy Policy<\/em> version 1.3, read 9 October 2026.\", \"href\": \"https:\/\/portraitor.ai\/privacy\"}, {\"html\": \"Portraitor, <em>home page<\/em>, read 9 October 2026.\", \"href\": \"https:\/\/portraitor.ai\/\"}]","pp_endcard":"{\"h3\": \"A portrait, not a verdict\", \"body\": \"Portraitor reads one participant across a whole exported conversation, and masks names, numbers and addresses in your browser before anything is sent.\", \"label\": \"See how Portraitor works &rarr;\"}","pp_howto":"","footnotes":""},"categories":[3],"tags":[],"class_list":["post-155","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-understanding-yourself"],"_links":{"self":[{"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/posts\/155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/comments?post=155"}],"version-history":[{"count":4,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/posts\/155\/revisions"}],"predecessor-version":[{"id":255,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/posts\/155\/revisions\/255"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/media\/156"}],"wp:attachment":[{"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/media?parent=155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/categories?post=155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/portraitor.ai\/blog\/wp-json\/wp\/v2\/tags?post=155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}