{"id":31618,"date":"2026-09-09T12:10:00","date_gmt":"2026-09-09T10:10:00","guid":{"rendered":"https:\/\/botnation.ai\/how-to-make-a-chatbot-undetectable\/"},"modified":"2026-09-09T12:40:44","modified_gmt":"2026-09-09T10:40:44","slug":"how-to-make-a-chatbot-undetectable","status":"publish","type":"post","link":"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/","title":{"rendered":"How to make a chatbot undetectable: what actually works (and what the law requires)"},"content":{"rendered":"<p><script>(function(){var s=document.createElement(\"style\");s.appendChild(document.createTextNode(` .bn-art{ --bn-cream:#faf8f2; --bn-card:#faf6ea; --bn-sand:#ebe3cb; --bn-sand-2:#f3ecd9; --bn-sand-zebra:#f6f0df; --bn-coral:#fe716b; --bn-coral-soft:#fdeeed; --bn-coral-line:#f6c9c6; --bn-coral-txt:#bd3a34; --bn-blue:#3358f0; --bn-blue-soft:#eef1fe; --bn-blue-line:#c9d4fb; --bn-green:#427632; --bn-green-soft:#eef6ea; --bn-ink:#3d351f; --bn-text:#414b56; --bn-muted:#6d6653; --bn-border:#e6dcc2; --bn-r:16px; --bn-r-sm:11px; --bn-sp:22px; --bn-sh:0 1px 2px rgba(61,53,31,.05),0 10px 26px rgba(61,53,31,.07); --bn-sh-sm:0 1px 2px rgba(61,53,31,.05),0 4px 12px rgba(61,53,31,.05); --bn-mono:'IBM Plex Mono','SFMono-Regular',ui-monospace,'Courier New',monospace; color:var(--bn-text); font-size:18px; line-height:1.75; max-width:820px; margin:0 auto; } .bn-art *{box-sizing:border-box} .bn-art p{margin:0 0 1.15em; color:var(--bn-text)} .bn-art h2{ color:var(--bn-ink); font-weight:700; line-height:1.25; font-size:1.72em; margin:2.2em 0 .7em; letter-spacing:-.01em; } .bn-art h3{color:var(--bn-ink); font-weight:700; font-size:1.22em; margin:1.8em 0 .5em} .bn-art a{color:#3f5cd6; text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px} .bn-art a:hover{color:var(--bn-coral)} .bn-art strong{color:var(--bn-ink); font-weight:700} .bn-art ul,.bn-art ol{margin:0 0 1.3em; padding-left:1.25em} .bn-art li{margin:.4em 0} .bn-art ul li::marker{color:var(--bn-coral)} .bn-art ol li::marker{color:var(--bn-blue); font-weight:700} .bn-klabel{ display:inline-flex; align-items:center; gap:7px; font-family:var(--bn-mono); font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.12em; color:var(--bn-coral); margin:0 0 .2em; } .bn-klabel svg{width:15px;height:15px;flex:none} .bn-tldr{ background:var(--bn-card); border:1px solid var(--bn-border); border-left:4px solid var(--bn-coral); border-radius:var(--bn-r); padding:20px 24px; margin:0 0 30px; box-shadow:var(--bn-sh-sm); } .bn-tldr p{margin:0; color:var(--bn-text)} .bn-tldr p+p{margin-top:.6em} .bn-toc{ background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r); padding:18px 22px; margin:0 0 34px; } .bn-toc .bn-klabel{color:var(--bn-coral)} .bn-toc ol{margin:.4em 0 0; padding-left:1.2em; columns:2; column-gap:28px} .bn-toc li{margin:.25em 0; break-inside:avoid} .bn-toc a{color:var(--bn-ink); text-decoration:none; font-weight:600; font-size:.96em} .bn-toc a:hover{color:var(--bn-coral); text-decoration:underline} .bn-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:28px 0} .bn-stat{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:20px 18px; text-align:center; box-shadow:var(--bn-sh-sm); } .bn-stat b{display:block; font-size:2em; line-height:1.1; color:var(--bn-coral); font-weight:800; letter-spacing:-.02em} .bn-stat span{display:block; margin-top:6px; font-size:.86em; color:var(--bn-muted); line-height:1.45} .bn-stat:nth-child(2) b{color:var(--bn-blue)} .bn-stat:nth-child(3) b{color:var(--bn-ink)} .bn-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0} .bn-card{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px; box-shadow:var(--bn-sh-sm); } .bn-card h4{margin:.1em 0 .35em; color:var(--bn-ink); font-size:1.06em; font-weight:700; display:flex; gap:9px; align-items:center} .bn-card h4 svg{width:20px;height:20px;flex:none;color:var(--bn-coral)} .bn-card p{margin:0; font-size:.96em} .bn-ex{ background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:20px 0; box-shadow:var(--bn-sh); position:relative; } .bn-ex-h{display:flex; align-items:center; gap:13px; margin-bottom:14px} .bn-ex-n{ flex:none; width:38px; height:38px; border-radius:11px; background:var(--bn-coral-soft); color:var(--bn-coral); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.1em; font-family:var(--bn-mono); } .bn-ex-h h3{margin:0; font-size:1.18em} .bn-ex-tag{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--bn-muted); display:block; margin-top:2px} .bn-ex p{margin:.2em 0 .9em} .bn-ex .bn-ba{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px} .bn-ba div{border-radius:var(--bn-r-sm); padding:13px 15px; font-size:.9em; line-height:1.5} .bn-ba .biz{background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line)} .bn-ba .cli{background:var(--bn-green-soft); border:1px solid #cfe6c4} .bn-ba b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; color:var(--bn-muted)} .bn-tablewrap{overflow-x:auto; margin:26px 0; border-radius:var(--bn-r); border:1px solid var(--bn-border); box-shadow:var(--bn-sh-sm)} .bn-art table{width:100%; border-collapse:collapse; background:var(--bn-card); font-size:.94em; min-width:520px} .bn-art thead th{background:var(--bn-ink); color:#fbf7ec; text-align:left; font-weight:700; padding:13px 16px; font-size:16px} .bn-art tbody td{padding:12px 16px; border-top:1px solid var(--bn-border); color:var(--bn-text); vertical-align:top; font-size:16px} .bn-art tbody tr:nth-child(even){background:var(--bn-sand-zebra)} .bn-art tbody td:first-child{font-weight:700; color:var(--bn-ink)} .bn-cols{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0} .bn-col{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px; box-shadow:var(--bn-sh-sm)} .bn-col h4{margin:0 0 12px; font-size:1.05em; color:var(--bn-ink); display:flex; align-items:center; gap:9px} .bn-col h4 svg{width:20px;height:20px;flex:none} .bn-col.biz h4 svg{color:var(--bn-blue)} .bn-col.cli h4 svg{color:var(--bn-green)} .bn-col.warn h4 svg{color:var(--bn-coral)} .bn-col ul{margin:0; padding:0; list-style:none} .bn-col li{position:relative; padding-left:26px; margin:.55em 0; font-size:.96em} .bn-col li::before{content:\"\"; position:absolute; left:0; top:.5em; width:13px; height:13px; border-radius:50%; background:var(--bn-coral-soft); border:2px solid var(--bn-coral)} .bn-col.biz li::before{background:var(--bn-blue-soft); border-color:var(--bn-blue)} .bn-col.cli li::before{background:var(--bn-green-soft); border-color:var(--bn-green)} .bn-call{ display:flex; gap:14px; border-radius:var(--bn-r); padding:18px 20px; margin:24px 0; background:var(--bn-card); border:1px solid var(--bn-border); box-shadow:var(--bn-sh-sm); } .bn-call svg{width:22px; height:22px; flex:none; margin-top:1px} .bn-call b{color:var(--bn-ink)} .bn-call p{margin:0; font-size:.95em} .bn-call .bn-klabel{margin-bottom:3px} .bn-tip{border-left:4px solid var(--bn-green)} .bn-tip svg{color:var(--bn-green)} .bn-tip .bn-klabel{color:var(--bn-green)} .bn-warn{border-left:4px solid var(--bn-coral)} .bn-warn svg{color:var(--bn-coral)} .bn-warn .bn-klabel{color:var(--bn-coral)} .bn-info{border-left:4px solid var(--bn-blue)} .bn-info svg{color:var(--bn-blue)} .bn-info .bn-klabel{color:var(--bn-blue)} .bn-def{background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line); border-radius:var(--bn-r); padding:20px 24px; margin:24px 0} .bn-def .bn-klabel{color:var(--bn-blue)} .bn-def p{margin:0} .bn-steps{counter-reset:s; list-style:none; padding:0; margin:24px 0} .bn-steps li{position:relative; padding:0 0 4px 56px; margin:0 0 18px; min-height:40px} .bn-steps li::before{ counter-increment:s; content:counter(s); position:absolute; left:0; top:0; width:40px; height:40px; border-radius:12px; background:var(--bn-coral); color:#fff; font-weight:800; font-family:var(--bn-mono); display:flex; align-items:center; justify-content:center; box-shadow:var(--bn-sh-sm); } .bn-steps li b{display:block; color:var(--bn-ink); margin-bottom:2px} .bn-check{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-check h3{margin:.1em 0 .3em} .bn-check>p{font-size:.95em; color:var(--bn-muted); margin-bottom:14px} .bn-check ul{list-style:none; padding:0; margin:0 0 18px} .bn-check li{margin:0; border-top:1px solid var(--bn-border)} .bn-check li:first-child{border-top:none} .bn-check label{display:flex; align-items:flex-start; gap:13px; padding:12px 2px; cursor:pointer; font-size:.97em; color:var(--bn-text)} .bn-check input{appearance:none; -webkit-appearance:none; flex:none; width:22px; height:22px; margin-top:1px; border:2px solid var(--bn-coral-line); border-radius:7px; background:#fff; cursor:pointer; position:relative; transition:.15s} .bn-check input:checked{background:var(--bn-coral); border-color:var(--bn-coral)} .bn-check input:checked::after{content:\"\"; position:absolute; left:6px; top:2px; width:6px; height:11px; border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg)} .bn-result{border-radius:var(--bn-r-sm); padding:16px 18px; background:var(--bn-coral-soft); border:1px solid var(--bn-coral-line); font-size:.96em} .bn-result b{color:var(--bn-ink)} .bn-result .bn-score{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral)} .bn-result .bnc-res{display:none; margin-top:10px} .bn-result .bnc-res.on{display:block} .bn-result .bnc-res p{margin:0; color:var(--bn-text)} .bn-faq{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); margin:0 0 12px; box-shadow:var(--bn-sh-sm); overflow:hidden} .bn-faq summary{cursor:pointer; padding:17px 20px; font-weight:700; color:var(--bn-ink); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px; font-size:1.03em} .bn-faq summary::-webkit-details-marker{display:none} .bn-faq summary::after{content:\"+\"; font-family:var(--bn-mono); font-size:1.5em; color:var(--bn-coral); flex:none; line-height:1; transition:transform .2s} .bn-faq[open] summary::after{transform:rotate(45deg)} .bn-faq .bn-faq-b{padding:0 20px 18px; color:var(--bn-text)} .bn-faq .bn-faq-b p{margin:0} .bn-fig{margin:30px 0; text-align:center} .bn-fig img{width:100%; height:auto; border-radius:var(--bn-r); box-shadow:var(--bn-sh); display:block} .bn-fig figcaption{margin-top:10px; font-size:.85em; color:var(--bn-muted); font-style:italic} .bn-cta{background:var(--bn-ink); border-radius:var(--bn-r); padding:34px 32px; margin:36px 0 12px; text-align:center} .bn-cta h3{color:#fff; margin:0 0 .4em; font-size:1.4em} .bn-cta p{color:#e9e2cf; margin:0 auto 20px; max-width:560px; font-size:1em} .bn-cta-btn{display:inline-block; background:var(--bn-coral); color:#332c19 !important; text-decoration:none !important; font-weight:800; padding:15px 34px; border-radius:999px; font-size:1.02em; box-shadow:0 8px 22px rgba(254,113,107,.35); transition:.15s} .bn-cta-btn:hover{background:#ff8782; color:#fff !important} .bn-quiz{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-quiz .bnq-q{padding:14px 0; border-top:1px solid var(--bn-border)} .bn-quiz .bnq-q:first-of-type{border-top:none; padding-top:4px} .bn-quiz .bnq-qt{font-weight:700; color:var(--bn-ink); margin:0 0 10px; font-size:1.02em} .bn-quiz .bnq-opt{display:flex; align-items:flex-start; gap:12px; padding:9px 12px; margin:6px 0; cursor:pointer; font-size:.96em; color:var(--bn-text); border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; transition:.15s} .bn-quiz .bnq-opt:hover{border-color:var(--bn-coral-line); background:var(--bn-coral-soft)} .bn-quiz .bnq-opt input{appearance:none; -webkit-appearance:none; flex:none; width:20px; height:20px; margin-top:1px; border:2px solid var(--bn-coral-line); border-radius:50%; background:#fff; cursor:pointer; position:relative; transition:.15s} .bn-quiz .bnq-opt input:checked{border-color:var(--bn-coral)} .bn-quiz .bnq-opt input:checked::after{content:\"\"; position:absolute; left:3px; top:3px; width:10px; height:10px; border-radius:50%; background:var(--bn-coral)} .bn-quiz .bnq-opt:has(input:checked){border-color:var(--bn-coral); background:var(--bn-coral-soft)} .bn-quiz .bnq-btn{margin-top:16px; display:inline-block; background:var(--bn-coral); color:#332c19; border:none; font-weight:800; font-size:1em; padding:13px 30px; border-radius:999px; cursor:pointer; box-shadow:0 6px 16px rgba(254,113,107,.28); transition:.15s; font-family:inherit} .bn-quiz .bnq-btn:hover{background:#ff8782} .bn-quiz .bnq-res{display:none; margin-top:18px; padding:18px 20px; border-radius:var(--bn-r-sm); background:var(--bn-blue-soft); border:1px solid var(--bn-blue-line)} .bn-quiz .bnq-res.on{display:block} .bn-quiz #bnq-agent{background:var(--bn-coral-soft); border-color:var(--bn-coral-line)} .bn-quiz #bnq-hybrid{background:var(--bn-green-soft); border-color:#cfe6c4} .bn-quiz .bnq-rt{font-weight:800; color:var(--bn-ink); margin:0 0 6px; font-size:1.08em} .bn-quiz .bnq-res p{margin:0} .bn-spectrum{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-spectrum h3{margin:.1em 0 .3em} .bn-spectrum>p{font-size:.95em; color:var(--bn-muted); margin:0 0 20px} .bn-spec-track{margin:26px 4px 4px} .bn-spec-range{-webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:999px; background:var(--bn-sand); outline:none; cursor:pointer; margin:0} .bn-spec-range::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:26px; height:26px; border-radius:50%; background:var(--bn-coral); border:3px solid #fff; box-shadow:var(--bn-sh-sm); cursor:pointer} .bn-spec-range::-moz-range-thumb{width:26px; height:26px; border-radius:50%; background:var(--bn-coral); border:3px solid #fff; box-shadow:var(--bn-sh-sm); cursor:pointer} .bn-spec-stops{display:flex; justify-content:space-between; margin-top:13px; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; color:var(--bn-muted); gap:8px} .bn-spec-stops span{flex:1; cursor:pointer; transition:.15s; text-align:center} .bn-spec-stops span:first-child{text-align:left} .bn-spec-stops span:last-child{text-align:right} .bn-spec-stops span.on{color:var(--bn-coral); font-weight:700} .bns-pane{display:none; margin-top:22px; border-radius:var(--bn-r-sm); padding:20px 22px; background:var(--bn-sand-2); border:1px solid var(--bn-sand)} .bns-pane.on{display:block} .bns-pane h4{margin:0 0 3px; color:var(--bn-ink); font-size:1.14em} .bns-tag{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--bn-coral); display:block; margin-bottom:11px} .bns-pane>p{margin:0; font-size:.96em; color:var(--bn-text)} .bns-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:15px} .bns-grid div{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:11px 14px; font-size:.9em; color:var(--bn-text)} .bns-grid b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; color:var(--bn-muted); margin-bottom:3px} .bn-roi{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-roi h3{margin:.1em 0 .3em} .bn-roi>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-roi-fields{display:grid; grid-template-columns:1fr 1fr; gap:20px 28px; margin:18px 0 24px} .bn-roi-field:last-child{grid-column:1\/-1} .bn-roi-field label{display:block; font-size:.9em; color:var(--bn-text); font-weight:600; margin-bottom:11px} .bn-roi-field output{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral)} .bn-roi-out{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:4px} .bn-roi-stat{background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r); padding:20px 16px; text-align:center} .bn-roi-stat b{display:block; font-size:1.85em; line-height:1.05; color:var(--bn-coral); font-weight:800; letter-spacing:-.02em; font-family:var(--bn-mono)} .bn-roi-stat:nth-child(2) b{color:var(--bn-blue)} .bn-roi-stat:nth-child(3) b{color:var(--bn-ink)} .bn-roi-stat span{display:block; margin-top:7px; font-size:.82em; color:var(--bn-muted); line-height:1.4} .bn-roi-note{font-size:16px; color:var(--bn-muted); margin:16px 0 0; font-style:italic} .bn-bot{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:22px 24px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-bot h3{margin:.1em 0 .3em} .bn-bot>p{font-size:.95em; color:var(--bn-muted); margin:0 0 16px} .bn-bot-win{border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; overflow:hidden} .bn-bot-bar{display:flex; align-items:center; gap:11px; padding:12px 16px; background:var(--bn-sand-2); border-bottom:1px solid var(--bn-border)} .bn-bot-ava{flex:none; width:32px; height:32px; border-radius:50%; background:var(--bn-coral-soft); display:flex; align-items:center; justify-content:center} .bn-bot-ava svg{width:19px; height:19px; color:var(--bn-coral)} .bn-bot-id b{display:block; color:var(--bn-ink); font-size:.95em; line-height:1.2} .bn-bot-id span{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-green); display:inline-flex; align-items:center; gap:5px} .bn-bot-id span::before{content:\"\"; width:7px; height:7px; border-radius:50%; background:var(--bn-green)} .bn-bot-log{padding:16px; min-height:130px; max-height:320px; overflow-y:auto; display:flex; flex-direction:column; gap:10px} .bn-bot-msg{max-width:82%; padding:10px 14px; border-radius:15px; font-size:.95em; line-height:1.5} .bn-bot-msg.bot{align-self:flex-start; background:var(--bn-sand-2); color:var(--bn-text); border-bottom-left-radius:4px} .bn-bot-msg.user{align-self:flex-end; background:var(--bn-coral); color:#332c19; border-bottom-right-radius:4px} .bn-bot-quick{display:flex; flex-wrap:wrap; gap:8px; padding:2px 16px 14px} .bn-art .bn-bot-qbtn{font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:7px 14px; cursor:pointer; transition:.15s} .bn-art .bn-bot-qbtn:hover{background:var(--bn-coral-soft); border-color:var(--bn-coral)} .bn-bot-form{display:flex; gap:8px; padding:12px 16px; border-top:1px solid var(--bn-border); background:var(--bn-sand-2)} .bn-bot-input{flex:1; min-width:0; font-family:inherit; font-size:.95em; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:10px 16px; outline:none} .bn-bot-input:focus{border-color:var(--bn-coral)} .bn-art .bn-bot-send{flex:none; font-family:inherit; font-weight:700; font-size:16px; color:#fff; background:var(--bn-coral); border:none; border-radius:999px; padding:10px 20px; cursor:pointer; transition:.15s} .bn-art .bn-bot-send:hover{background:#ff8782} .bn-art .bn-bot-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} .bbot-kb,.bbot-fallback{display:none} .bn-shot{margin:16px 0 2px; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); background:#fff; overflow:hidden} .bn-shot-bar{display:flex; align-items:center; gap:8px; padding:9px 13px; background:var(--bn-sand-2); border-bottom:1px solid var(--bn-border)} .bn-shot-dot{width:8px;height:8px;border-radius:50%;background:var(--bn-green);flex:none} .bn-shot-bar b{color:var(--bn-ink); font-size:.9em} .bn-shot-bar span{margin-left:auto; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-muted)} .bn-shot-log{padding:13px 14px; display:flex; flex-direction:column; gap:8px} .bn-shot .bn-bot-msg{max-width:86%; font-size:.9em} .bn-shot-quick{display:flex; flex-wrap:wrap; gap:6px; margin-top:2px} .bn-shot-quick span{font-size:14px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:4px 11px} .bn-exlink{margin:13px 0 0; font-weight:700; display:flex; align-items:center; gap:6px} .bn-exlink svg{width:16px;height:16px;flex:none;color:var(--bn-coral)} .bn-lb{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-lb h3{margin:.1em 0 .3em} .bn-lb>p{font-size:.95em; color:var(--bn-muted); margin:0 0 16px} .bn-lb-ctrl{display:flex; flex-wrap:wrap; gap:11px; align-items:center; margin:0 0 16px} .bn-lb-ctrl br{display:none} .bn-lb-search{flex:1; min-width:200px; font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:11px 18px; outline:none} .bn-lb-search:focus{border-color:var(--bn-coral)} .bn-lb-filters{display:flex; flex-wrap:wrap; gap:8px} .bn-art .bn-lb-fbtn{font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s} .bn-art .bn-lb-fbtn:hover{background:var(--bn-coral-soft)} .bn-art .bn-lb-fbtn.on{background:var(--bn-coral); color:#fff; border-color:var(--bn-coral)} .bn-lb .bn-lb-th{cursor:pointer; user-select:none; white-space:nowrap} .bn-lb .bn-lb-th:hover{color:#fbf7ec; opacity:.85} .bn-lb-rank{font-family:var(--bn-mono); font-weight:700; color:var(--bn-coral); text-align:center} .bn-lb-score{font-family:var(--bn-mono); font-weight:700; color:var(--bn-ink); text-align:right; white-space:nowrap} .lb-empty{padding:16px; text-align:center; color:var(--bn-muted); font-size:.95em} .bn-lb-foot{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} @media(max-width:680px){ .bn-art{font-size:17px} .bn-stats,.bn-grid,.bn-cols,.bn-ex .bn-ba,.bns-grid,.bn-roi-fields,.bn-roi-out{grid-template-columns:1fr} .bn-roi-field:last-child{grid-column:auto} .bn-toc ol{columns:1} .bn-art h2{font-size:1.5em} .bn-bot-msg{max-width:90%} } .bn-art sup,.bn-art sub{font-size:14px;line-height:0} .bn-klabel.hc{color:var(--bn-coral-txt)} .bn-cdc{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-cdc h3{margin:.1em 0 .3em} .bn-cdc>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-cdc br{display:none} .bn-cdc p:empty{display:none; margin:0} .cdc-q{padding:15px 0; border-top:1px solid var(--bn-border)} .cdc-q:first-of-type{border-top:none; padding-top:2px} .bn-art .cdc-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .cdc-chips{display:flex; flex-wrap:wrap; gap:8px} .cdc-chips p:not([class]){display:contents} .bn-art .cdc-chip{display:inline-flex; align-items:center; font-size:16px; line-height:1.35; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s} .bn-art .cdc-chip:hover{background:var(--bn-coral-soft)} .bn-art .cdc-chip:has(input:checked){background:var(--bn-coral); color:#332c19; border-color:var(--bn-coral); font-weight:700} .cdc-chip input{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none} .cdc-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .cdc-line{padding:14px 0; border-top:1px solid var(--bn-sand)} .cdc-line:first-of-type{border-top:none; padding-top:2px} .cdc-line p:not([class]){margin:0} .bn-art .cdc-line b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); margin-bottom:6px} .bn-art .cdc-line span{display:block; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .cdc-copy{margin-top:18px; display:inline-block; background:var(--bn-coral); color:#332c19; border:none; font-family:inherit; font-weight:800; font-size:16px; padding:13px 28px; border-radius:999px; cursor:pointer; box-shadow:0 6px 16px rgba(254,113,107,.28); transition:.15s} .bn-art .cdc-copy:hover{background:#ff8782} .bn-art .cdc-note{font-size:16px; color:var(--bn-muted); margin:12px 0 0; font-style:italic; min-height:1.5em} @media(max-width:680px){ .cdc-chips{flex-direction:column; align-items:stretch} .bn-art .cdc-chip{justify-content:flex-start} } .bn-niv{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-niv h3{margin:.1em 0 .3em} .bn-niv>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-niv br{display:none} .bn-niv p:empty{display:none; margin:0} .niv-q{padding:15px 0; border-top:1px solid var(--bn-border)} .niv-q:first-of-type{border-top:none; padding-top:2px} .bn-art .niv-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .niv-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .bn-art .niv-score{display:flex; align-items:baseline; gap:10px; margin:0 0 13px} .bn-art .niv-score b{font-family:var(--bn-mono); font-size:2.1em; line-height:1; color:var(--bn-coral-txt); font-weight:800; letter-spacing:-.02em} .bn-art .niv-score span{font-size:16px; color:var(--bn-muted)} .niv-gauge{height:10px; border-radius:999px; background:var(--bn-sand); overflow:hidden; margin:0 0 18px} .niv-gauge p:not([class]){display:contents} .niv-gauge i{display:block; height:10px; background:var(--bn-coral); border-radius:999px; width:0} .nivv{display:none; border-radius:var(--bn-r-sm); padding:17px 19px; background:#fff; border:1px solid var(--bn-border)} .nivv.on{display:block} .bn-art .nivv b{display:block; font-size:1.08em; color:var(--bn-ink); margin-bottom:5px} .bn-art .nivv p{margin:0; font-size:16px; line-height:1.62} .bn-art .niv-weak{margin:15px 0 0; font-size:16px; color:var(--bn-text)} .bn-art .niv-weak b{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); display:block; margin-bottom:4px} .bn-art blockquote{margin:26px 0; padding:18px 22px; background:var(--bn-card); border:1px solid var(--bn-border); border-left:4px solid var(--bn-blue); border-radius:var(--bn-r); box-shadow:var(--bn-sh-sm)} .bn-art blockquote p{margin:0; font-size:17px; line-height:1.65; color:var(--bn-text)} .bn-chk{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-chk h3{margin:.1em 0 .3em} .bn-chk>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-chk br{display:none} .bn-chk p:empty{display:none; margin:0} .chk-doc{border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-border); padding:16px 18px; margin:0 0 6px} .bn-art .chk-doc b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); margin-bottom:6px} .bn-art .chk-doc span{display:block; font-size:16px; line-height:1.62; color:var(--bn-text)} .chk-q{padding:15px 0; border-top:1px solid var(--bn-border)} .bn-art .chk-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .chk-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .chk-pieces{display:grid; gap:10px; margin:0 0 16px} .chk-piece{border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-border); padding:12px 14px} .chk-piece.hit{border-color:var(--bn-green); background:var(--bn-green-soft)} .bn-art .chk-piece b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-muted); margin-bottom:5px} .bn-art .chk-piece.hit b{color:var(--bn-green)} .bn-art .chk-piece span{display:block; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .chk-verdict{border-radius:var(--bn-r-sm); padding:14px 16px; font-size:16px; line-height:1.55; background:var(--bn-green-soft); border:1px solid #cfe6c4; color:var(--bn-text); margin:0 0 12px} .bn-art .chk-verdict.ko{background:var(--bn-coral-soft); border-color:var(--bn-coral-line)} .bn-art .chk-stats{margin:0; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .chk-stats b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .bn-dev{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-dev h3{margin:.1em 0 .3em} .bn-dev>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-dev br{display:none} .bn-dev p:empty{display:none; margin:0} .dev-q{padding:15px 0; border-top:1px solid var(--bn-border)} .dev-q:first-of-type{border-top:none; padding-top:2px} .bn-art .dev-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .dev-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .dev-tiles{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:0 0 16px} .dev-stat{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:16px 12px; text-align:center} .bn-art .dev-stat b{display:block; font-family:var(--bn-mono); font-size:1.5em; line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--bn-coral-txt)} .bn-art .dev-stat:nth-child(2) b{color:var(--bn-blue)} .bn-art .dev-stat:nth-child(3) b{color:var(--bn-green)} .bn-art .dev-stat:nth-child(4) b{color:var(--bn-ink)} .bn-art .dev-stat span{display:block; margin-top:7px; font-size:14px; color:var(--bn-muted); line-height:1.4} .bn-art .dev-line{margin:0 0 14px; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .dev-line b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .dvv{display:none; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border)} .dvv.on{display:block} .bn-art .dvv b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .dvv p{margin:0; font-size:16px; line-height:1.62} @media(max-width:680px){ .dev-tiles{grid-template-columns:1fr 1fr} } .bn-fig.chat img{max-width:400px; margin:0 auto} .bn-fig.doc img{max-width:520px; margin:0 auto} .bn-nlu{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-nlu h3{margin:.1em 0 .3em} .bn-nlu>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-nlu br{display:none} .bn-nlu p:empty{display:none; margin:0} .nlu-q{padding:15px 0; border-top:1px solid var(--bn-border)} .nlu-q:first-of-type{border-top:none; padding-top:2px} .bn-art .nlu-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .bn-art .nlu-in{width:100%; font-family:inherit; font-size:16px; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:12px 18px; outline:none} .bn-art .nlu-in:focus{border-color:var(--bn-coral)} .nlu-ex{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px} .nlu-ex p:not([class]){display:contents} .bn-art .nlu-exb{font-family:inherit; font-size:16px; line-height:1.35; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:.15s; text-align:left} .bn-art .nlu-exb:hover{background:var(--bn-coral-soft)} .nlu-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .bn-art .nlu-toks{margin:0 0 14px; font-size:16px; line-height:1.7; color:var(--bn-text)} .bn-art .nlu-toks b{font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--bn-coral-txt); display:block; margin-bottom:8px} .bn-art .nlu-tk{display:inline-block; font-family:var(--bn-mono); font-size:14px; background:#fff; border:1px solid var(--bn-border); border-radius:999px; padding:3px 11px; margin:0 6px 6px 0; color:var(--bn-ink)} .nlu-row{display:grid; grid-template-columns:1fr 130px 54px; gap:12px; align-items:center; padding:10px 0; border-top:1px solid var(--bn-sand)} .nlu-row:first-child{border-top:none} .bn-art .nlu-lab{font-size:16px; line-height:1.4; color:var(--bn-ink); font-weight:700} .nlu-bar{height:10px; border-radius:999px; background:var(--bn-sand); overflow:hidden} .nlu-bar i{display:block; height:10px; background:var(--bn-coral); border-radius:999px; width:0} .nlu-row.win .nlu-bar i{background:var(--bn-green)} .bn-art .nlu-sc{font-family:var(--bn-mono); font-size:16px; font-weight:700; color:var(--bn-coral-txt); text-align:right} .nlu-verdict{margin:16px 0 0; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border); border-left:4px solid var(--bn-green)} .nlu-verdict.ko{border-left-color:var(--bn-coral)} .bn-art .nlu-verdict b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .nlu-verdict p{margin:0; font-size:16px; line-height:1.62} .bn-art .nlu-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic} @media(max-width:680px){ .nlu-row{grid-template-columns:minmax(0,1fr) 64px 48px; gap:9px} .bn-art .nlu-lab{font-size:16px} } @media(max-width:560px){ .nlu-row{grid-template-columns:minmax(0,1fr) auto; gap:7px 10px; padding:12px 0} .bn-art .nlu-lab{grid-column:1; grid-row:1} .bn-art .nlu-sc{grid-column:2; grid-row:1; text-align:right} .nlu-bar{grid-column:1\/3; grid-row:2} } .bn-art code{font-family:var(--bn-mono); font-size:16px; line-height:1.5; background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:6px; padding:1px 7px; color:var(--bn-ink); word-break:break-word} .bn-art pre{background:var(--bn-sand-2); border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:16px 18px; overflow-x:auto; margin:22px 0} .bn-art pre code{background:none; border:none; padding:0; font-size:16px} .bn-hd{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-hd h3{margin:.1em 0 .3em} .bn-hd>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-hd br{display:none} .bn-hd p:empty{display:none; margin:0} .hd-q{padding:15px 0; border-top:1px solid var(--bn-border)} .hd-q:first-of-type{border-top:none; padding-top:2px} .bn-art .hd-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .hd-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .hd-head{display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr); gap:18px; align-items:center} .hd-n{font-family:var(--bn-mono); font-weight:800; line-height:1; color:var(--bn-ink); white-space:nowrap} .bn-art .hd-n span{font-size:34px} .bn-art .hd-n i{font-style:normal; font-size:16px; color:var(--bn-muted); font-weight:600} .hd-track{position:relative; height:14px; border-radius:999px; background:#fff; border:1px solid var(--bn-sand); overflow:hidden} .hd-fill{position:absolute; left:0; top:0; bottom:0; width:0; background:var(--bn-coral); transition:width .18s} .hd-parts{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px} .hd-part{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:11px 8px; text-align:center} .bn-art .hd-part span{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3} .bn-art .hd-part b{display:block; font-family:var(--bn-mono); font-size:20px; font-weight:800; color:var(--bn-coral-txt); margin-top:4px} .hdv{display:none; margin-top:18px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .hdv-1{display:block; border-left:4px solid var(--bn-green)} .hdv-2{border-left:4px solid var(--bn-blue)} .hdv-3{border-left:4px solid var(--bn-coral)} .hdv-4{border-left:4px solid var(--bn-ink)} .bn-art .hdv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:7px} .bn-art .hdv p{margin:0; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .hd-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} @media(max-width:680px){ .bn-hd{padding:20px 17px} .hd-out{padding:17px 15px} .hd-head{grid-template-columns:minmax(0,1fr); gap:12px} .hd-parts{grid-template-columns:repeat(2,minmax(0,1fr))} } .bn-tri{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-tri h3{margin:.1em 0 .3em} .bn-tri>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-tri br{display:none} .bn-tri p:empty{display:none; margin:0} .tri-q{padding:15px 0; border-top:1px solid var(--bn-border)} .tri-q:first-of-type{border-top:none; padding-top:2px} .bn-art .tri-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .tri-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .triv{display:none; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .triv-1{border-left:4px solid var(--bn-ink)} .triv-2{border-left:4px solid var(--bn-coral)} .triv-3{border-left:4px solid var(--bn-blue)} .triv-4{border-left:4px solid var(--bn-muted)} .triv-5{display:block; border-left:4px solid var(--bn-green)} .bn-art .triv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .triv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .triv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .triv p:last-child{margin-bottom:0} .tri-lines{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px} .tri-line{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:13px 15px} .bn-art .tri-line span{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3; margin-bottom:6px} .bn-art .tri-line b{display:block; font-size:16px; line-height:1.55; color:var(--bn-ink); font-weight:600} .bn-art .tri-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-tri .bn-tablewrap{margin-top:22px} .bn-art .tri-load{font-family:var(--bn-mono); font-size:16px; line-height:1.2; color:var(--bn-ink); background:#fff; border:1px solid var(--bn-coral-line); border-radius:999px; padding:8px 15px; cursor:pointer; white-space:nowrap; transition:.15s} .bn-art .tri-load:hover{background:var(--bn-coral-soft)} @media(max-width:680px){ .bn-tri{padding:20px 17px} .tri-out{padding:17px 15px} .tri-lines{grid-template-columns:minmax(0,1fr)} } .bn-art .bn-steps ol{list-style:none;padding:0;margin:0} .bn-art .bn-tip,.bn-art .bn-warn,.bn-art .bn-info{background:var(--bn-card);border:1px solid var(--bn-border);border-radius:var(--bn-r);padding:18px 20px;margin:24px 0;box-shadow:var(--bn-sh-sm)} .bn-art .bn-tip{border-left:4px solid var(--bn-green)} .bn-art .bn-warn{border-left:4px solid var(--bn-coral)} .bn-art .bn-info{border-left:4px solid var(--bn-blue)} .bn-art .bn-tip .bn-klabel,.bn-art .bn-warn .bn-klabel,.bn-art .bn-info .bn-klabel{margin-bottom:6px} .bn-art .bn-tip p,.bn-art .bn-warn p,.bn-art .bn-info p{margin:0} .bn-art .bn-tri table{table-layout:fixed;min-width:640px} .bn-art .bn-tri th:nth-child(1),.bn-art .bn-tri td:nth-child(1){width:22%} .bn-art .bn-tri th:nth-child(2),.bn-art .bn-tri td:nth-child(2){width:14%} .bn-art .bn-tri th:nth-child(3),.bn-art .bn-tri td:nth-child(3){width:14%} .bn-art .bn-tri th:nth-child(4),.bn-art .bn-tri td:nth-child(4){width:13%} .bn-art .bn-tri th:nth-child(5),.bn-art .bn-tri td:nth-child(5){width:22%} .bn-art .bn-tri th:nth-child(6),.bn-art .bn-tri td:nth-child(6){width:15%} .bn-art .bn-tri thead th,.bn-art .bn-tri tbody td{padding:11px 8px} .bn-art .tri-load{padding:4px 10px} .bn-art .bn-cta-in{text-align:center;margin:26px 0} .bn-lng{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-lng h3{margin:.1em 0 .3em} .bn-lng>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-lng br{display:none} .bn-lng p:empty{display:none; margin:0} .lng-q{padding:15px 0; border-top:1px solid var(--bn-border)} .lng-q:first-of-type{border-top:none; padding-top:2px} .bn-art .lng-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .lng-out{margin:22px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .lng-lines{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px} .lng-line{background:#fff; border:1px solid var(--bn-sand); border-radius:var(--bn-r-sm); padding:13px 15px} .bn-art .lng-line b{display:block; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--bn-muted); line-height:1.3; margin-bottom:6px} .bn-art .lng-line span{display:block; font-size:16px; line-height:1.55; color:var(--bn-ink); font-weight:600} .lngv{display:none; margin-top:16px; border-radius:var(--bn-r-sm); background:#fff; border:1px solid var(--bn-sand); padding:17px 19px} .lngv-1{display:block; border-left:4px solid var(--bn-blue)} .lngv-2{border-left:4px solid var(--bn-coral)} .lngv-3{border-left:4px solid var(--bn-green)} .lngv-4{border-left:4px solid var(--bn-ink)} .bn-art .lngv em{display:block; font-style:normal; font-family:var(--bn-mono); font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--bn-coral-txt); margin-bottom:7px; line-height:1.4} .bn-art .lngv b{display:block; font-size:18px; line-height:1.4; color:var(--bn-ink); margin-bottom:8px} .bn-art .lngv p{margin:0 0 .7em; font-size:16px; line-height:1.62; color:var(--bn-text)} .bn-art .lngv p:last-child{margin-bottom:0} .bn-art .lng-note{font-size:16px; color:var(--bn-muted); margin:14px 0 0; font-style:italic; line-height:1.55} .bn-lng .bn-tablewrap{margin-top:22px} .bn-art .bn-lng table{table-layout:fixed; min-width:620px} .bn-art .bn-lng th:nth-child(1),.bn-art .bn-lng td:nth-child(1){width:26%} .bn-art .bn-lng th:nth-child(2),.bn-art .bn-lng td:nth-child(2){width:28%} .bn-art .bn-lng th:nth-child(3),.bn-art .bn-lng td:nth-child(3){width:32%} .bn-art .bn-lng th:nth-child(4),.bn-art .bn-lng td:nth-child(4){width:14%} .bn-art .bn-lng thead th,.bn-art .bn-lng tbody td{padding:11px 10px} @media(max-width:680px){ .bn-lng{padding:20px 17px} .lng-out{padding:17px 15px} .lng-lines{grid-template-columns:minmax(0,1fr)} } .bn-gem{background:var(--bn-card);border:1px solid var(--bn-border);border-radius:var(--bn-r);padding:24px 26px;margin:28px 0;box-shadow:var(--bn-sh)} .bn-gem h3{margin:.1em 0 .3em} .bn-gem>p{font-size:16px;color:var(--bn-muted);margin:0 0 18px} .bn-gem br{display:none} .bn-gem p:empty{display:none;margin:0} .gem-q{padding:15px 0;border-top:1px solid var(--bn-border)} .gem-q:first-of-type{border-top:none;padding-top:2px} .bn-art .gem-qt{font-weight:700;color:var(--bn-ink);margin:0 0 11px;font-size:16px;line-height:1.45} .gem-out{margin:22px 0 0;border-radius:var(--bn-r-sm);background:var(--bn-sand-2);border:1px solid var(--bn-sand);padding:20px 22px} .giv{display:none;border-radius:var(--bn-r-sm);background:#fff;border:1px solid var(--bn-sand);padding:17px 19px;border-left:4px solid var(--bn-coral)} .giv.on{display:block} .giv0{border-left-color:var(--bn-green)} .giv4{border-left-color:var(--bn-blue)} .bn-art .giv em{display:block;font-style:normal;font-family:var(--bn-mono);font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--bn-coral-txt);margin-bottom:7px;line-height:1.4} .bn-art .giv b{display:block;font-size:18px;line-height:1.4;color:var(--bn-ink);margin-bottom:8px} .bn-art .giv p{margin:0;font-size:16px;line-height:1.62;color:var(--bn-text)} .bn-gem .bn-tablewrap{margin-top:22px} @media(max-width:680px){.bn-gem{padding:20px 17px}.gem-out{padding:17px 15px}} .bn-gene{background:var(--bn-card); border:1px solid var(--bn-border); border-radius:var(--bn-r); padding:24px 26px; margin:28px 0; box-shadow:var(--bn-sh)} .bn-gene h3{margin:.1em 0 .3em} .bn-gene>p{font-size:.95em; color:var(--bn-muted); margin:0 0 18px} .bn-gene br{display:none} .bn-gene p:empty{display:none; margin:0} .gene-q{padding:15px 0; border-top:1px solid var(--bn-border)} .gene-q:first-of-type{border-top:none; padding-top:2px} .bn-art .gene-qt{font-weight:700; color:var(--bn-ink); margin:0 0 11px; font-size:16px; line-height:1.45} .gene-out{margin:24px 0 0; border-radius:var(--bn-r-sm); background:var(--bn-sand-2); border:1px solid var(--bn-sand); padding:20px 22px} .gene-tiles{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 16px} .gene-stat{background:#fff; border:1px solid var(--bn-border); border-radius:var(--bn-r-sm); padding:16px 12px; text-align:center} .bn-art .gene-stat b{display:block; font-family:var(--bn-mono); font-size:1.5em; line-height:1.12; font-weight:800; letter-spacing:-.02em; color:var(--bn-coral-txt)} .bn-art .gene-stat:nth-child(2) b{color:var(--bn-blue)} .bn-art .gene-stat:nth-child(3) b{color:var(--bn-green)} .bn-art .gene-stat span{display:block; margin-top:7px; font-size:14px; color:var(--bn-muted); line-height:1.4} .bn-art .gene-line{margin:0 0 14px; font-size:16px; line-height:1.6; color:var(--bn-text)} .bn-art .gene-line b{font-family:var(--bn-mono); color:var(--bn-coral-txt); font-weight:700} .gene-v{display:none; border-radius:var(--bn-r-sm); padding:16px 18px; background:#fff; border:1px solid var(--bn-border)} .gene-v.on{display:block} .bn-art .gene-v b{display:block; font-size:1.06em; color:var(--bn-ink); margin-bottom:5px} .bn-art .gene-v p{margin:0; font-size:16px; line-height:1.62} .bn-art .gene-note{margin:14px 0 0; font-size:16px; line-height:1.55; color:var(--bn-muted)} .bn-gene table.gene-data{margin:0 0 4px} .bn-art table.gene-data tbody tr.gene-hit td{background:var(--bn-green-soft)} @media(max-width:680px){ .gene-tiles{grid-template-columns:minmax(0,1fr)} }  .bn-art .idn-note{font-size:16px;color:var(--bn-muted);margin:14px 0 0;font-style:italic;line-height:1.55} .bn-art .niv-weak span{display:block;font-size:16px;line-height:1.6;color:var(--bn-text);margin-top:2px} .bn-art .idn-bq{border-left-color:var(--bn-coral)} .bn-art .idn-bq b{color:var(--bn-ink)}`));document.head.appendChild(s);})();<\/script><\/p>\n<div class=\"bn-art\">\n<div class=\"bn-tldr\">\n<p><b>In short.<\/b> \u201cMaking a chatbot undetectable\u201d covers three different requests: getting an AI-generated text past detectors (technically possible, but fragile), making visitors forget they are talking to a machine (the real playground), and hiding that status (prohibited: the European AI regulation has required informing the visitor since 2 August 2026, with fines of up to 15 million euros). Text detectors get things badly wrong in both directions, and OpenAI withdrew its own in July 2023 due to its low rate of accuracy. The right strategy fits in one sentence: a chatbot that announces itself, yet is so well tuned (welcome message, knowledge base, tone, rhythm, human handoff) that nobody thinks about it. Six concrete levers and an interactive diagnostic in this guide.<\/p>\n<\/div>\n<p>You have just put a chatbot online and a prospect writes: \u201cthis is a robot, right?\u201d. Or you write with ChatGPT, a detection tool displays \u201c87% AI\u201d and you are looking for how to bring that score down. Two different situations, one query, and a search results page full of tools promising to \u201chumanize\u201d your texts in one click. This guide takes the problem from the other end: what \u201cdetectable\u201d actually means, what European law has required since 2 August 2026, why detectors are a moving target, and above all the six levers that make a chatbot feel natural to your visitors. Checked and verified on September 9, 2026.<\/p>\n<div class=\"bn-stats\">\n<div class=\"bn-stat\"><b>61.22%<\/b><span>of essays written by non-native authors flagged as \u201cAI-generated\u201d by detectors (Patterns study, 2023)<\/span><\/div>\n<div class=\"bn-stat\"><b>July 20, 2023<\/b><span>OpenAI withdraws its own AI text detector, for \u201clow rate of accuracy\u201d<\/span><\/div>\n<div class=\"bn-stat\"><b>2 August 2026<\/b><span>Regulation (EU) 2024\/1689 applies: telling people they interact with AI is no longer optional<\/span><\/div>\n<\/div>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_87_1 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Summary<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #3d351f;color:#3d351f\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #3d351f;color:#3d351f\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#%E2%80%9CUndetectable%E2%80%9D_three_very_different_intents\" >\u201cUndetectable\u201d: three very different intents<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#What_the_law_says_transparency_is_not_optional\" >What the law says: transparency is not optional<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#AI_text_detectors_why_%E2%80%9Cbeating_the_detector%E2%80%9D_is_the_wrong_target\" >AI text detectors: why \u201cbeating the detector\u201d is the wrong target<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#What_a_humanizer_does\" >What a humanizer does<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#What_it_does_not_do\" >What it does not do<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#What_gives_a_chatbot_away_to_your_visitors\" >What gives a chatbot away to your visitors<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#The_six_levers_of_a_chatbot_you_stop_%E2%80%9Cseeing%E2%80%9D\" >The six levers of a chatbot you stop \u201cseeing\u201d<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#1_A_welcome_message_that_owns_up_and_frames\" >1. A welcome message that owns up and frames<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#2_A_knowledge_base_that_lives\" >2. A knowledge base that lives<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#3_A_calibrated_tone_not_a_neutral_one\" >3. A calibrated tone, not a neutral one<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#4_A_human_rhythm\" >4. A human rhythm<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#5_A_clean_visible_exit_to_a_human\" >5. A clean, visible exit to a human<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#6_Training_on_your_real_conversations\" >6. Training on your real conversations<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#Diagnostic_is_your_chatbot_%E2%80%9Cdetectable%E2%80%9D\" >Diagnostic: is your chatbot \u201cdetectable\u201d?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#Is_your_chatbot_detectable\" >Is your chatbot detectable?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#The_five-step_method_with_no_detection_tool\" >The five-step method (with no detection tool)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#Who_can_build_it_and_at_what_price\" >Who can build it, and at what price?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#A_natural_announced_and_well-tuned_chatbot\" >A natural, announced and well-tuned chatbot?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#Frequently_asked_questions\" >Frequently asked questions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#The_real_%E2%80%9Cundetectable%E2%80%9D_is_being_forgotten\" >The real \u201cundetectable\u201d is being forgotten<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/botnation.ai\/en\/how-to-make-a-chatbot-undetectable\/#Take_action\" >Take action<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 id=\"definir\"><span class=\"ez-toc-section\" id=\"%E2%80%9CUndetectable%E2%80%9D_three_very_different_intents\"><\/span>\u201cUndetectable\u201d: three very different intents<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Type \u201chow to make a chatbot undetectable\u201d into a search engine and most results talk about something else: how to make a <i>text<\/i> produced by ChatGPT undetectable to detection software. The distinction matters, because the three readings of the query have neither the same answer nor the same legality.<\/p>\n<div class=\"bn-def\">\n<p><b>AI text detector:<\/b> software that estimates the probability that a text was written by a generative AI, based on statistical signals (vocabulary regularity, predictability of transitions). <b>Humanizer:<\/b> a paid tool that automatically rewrites AI-generated text to lower the scores of those detectors.<\/p>\n<\/div>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>What you are looking for<\/th>\n<th>What actually works<\/th>\n<th>The blocking point<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Getting an AI text past detectors<\/td>\n<td>Rewrite it yourself, vary your sources, interview, document<\/td>\n<td>Detectors err in both directions: \u201cbeating a score\u201d proves nothing<\/td>\n<\/tr>\n<tr>\n<td>A chatbot that does not \u201csound\u201d robotic<\/td>\n<td>The six levers of this guide (welcome, base, tone, rhythm, handoff, training)<\/td>\n<td>It takes continuous work: no single setting does it all<\/td>\n<\/tr>\n<tr>\n<td>Hiding from the visitor that they are talking to a robot<\/td>\n<td>Nothing: this is the prohibited option<\/td>\n<td>Article 50 of Regulation (EU) 2024\/1689, applicable since 2 August 2026<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The rest of this article covers all three, in order: first the legal constraint that frames everything else, then the question of text detectors, and finally the heart of the matter for a chatbot operator: making the experience so smooth that the nature of the speaker stops being the topic.<\/p>\n<h2 id=\"loi\"><span class=\"ez-toc-section\" id=\"What_the_law_says_transparency_is_not_optional\"><\/span>What the law says: transparency is not optional<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Since 2 August 2026, the European regulation on artificial intelligence (Regulation (EU) 2024\/1689, the \u201cAI Act\u201d) applies, and its Article 50 lands exactly on our subject. Here it is, re-read on September 9, 2026 on EUR-Lex, the Official Journal portal of the Union:<\/p>\n<blockquote>\n<p>\u201cProviders shall ensure that AI systems intended to interact directly with natural persons are designed and developed in such a way that the natural persons concerned are informed that they are interacting with an AI system, unless this is obvious from the point of view of a natural person who is reasonably well-informed, observant and circumspect, taking into account the circumstances and the context of use.\u201d (Article 50, paragraph 1)<\/p>\n<\/blockquote>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-comment-rendre-chatbot-indetectable-eurlex-en.jpg\" alt=\"EUR-Lex screenshot: Article 50 of Regulation (EU) 2024\/1689, transparency obligations for providers and deployers of AI systems\" decoding=\"async\"><figcaption>Article 50 of Regulation (EU) 2024\/1689 on EUR-Lex: the visitor must be informed that they are interacting with an AI, unless it is obvious from the context (checked on September 9, 2026).<\/figcaption><\/figure>\n<p>In practice: passing your chatbot off as a human to your visitors is not just an image risk, it contradicts the text. Article 50 also contains an honest exception, the \u201cunless this is obvious\u201d: a robot avatar, an explicit assistant name, a banner in the first message can be enough to make the status evident. That is exactly the spirit to aim for. The same Article states that the information must be provided \u201cin a clear and distinguishable manner at the latest at the time of the first interaction\u201d (paragraph 5): not at the 15th message, not in terms and conditions nobody reads.<\/p>\n<p>The text goes further for content publishers: texts generated or manipulated by AI \u201cpublished to inform the public on matters of public interest\u201d must be disclosed as such, unless they have undergone human review and a natural or legal person assumes editorial responsibility for the publication (Article 50, paragraph 4). And the sanction matches: non-compliance with these obligations is punishable by an administrative fine of up to EUR 15 000 000 or, for a company, up to 3% of its total worldwide annual turnover for the previous financial year (Article 99, paragraph 4).<\/p>\n<div class=\"bn-call bn-warn\">\n<svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"><\/path><path d=\"M12 9v4M12 17h.01\"><\/path><\/svg>\n<div><span class=\"bn-klabel\">The red line<\/span>\n<p>The goal is therefore not to \u201chide\u201d the bot: it is to announce it plainly, then to make it so good that the announcement becomes a detail. A chatbot that says what it is and solves the problem inspires more trust than a fake human discovered at the third reply. For the other obligations that frame a customer-facing chatbot (after-sales service, withdrawal, refunds), see our guide on <a href=\"https:\/\/botnation.ai\/en\/helpdesk-chatbot\/\">which requests a support chatbot should handle<\/a>.<\/p>\n<\/div>\n<\/div>\n<h2 id=\"detecteurs\"><span class=\"ez-toc-section\" id=\"AI_text_detectors_why_%E2%80%9Cbeating_the_detector%E2%80%9D_is_the_wrong_target\"><\/span>AI text detectors: why \u201cbeating the detector\u201d is the wrong target<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If your concern is the text, not the chatbot, you need to know what you are playing against. Detectors do not \u201crecognize\u201d AI the way a human recognizes a style: they measure statistical regularities. A very fluid text with predictable vocabulary resembles what language models produce; a choppy, idiosyncratic text escapes them. In other words, they confuse \u201cwritten by an AI\u201d with \u201cwritten very smoothly\u201d, in both directions.<\/p>\n<p>The evidence is solid and dated. A study published in 2023 in the journal <i>Patterns<\/i> by a team of Stanford researchers (Liang et al.) submitted 91 TOEFL English test essays written by non-native authors to seven widely used detectors: on average, <b>61.22% of these human texts were classified as \u201cAI-generated\u201d<\/b>. The same study shows the flip side: genuinely AI-generated texts, but with a prompt asking for more sophisticated vocabulary, passed as human. A tool that condemns a majority of non-native speakers while letting well-dressed machine texts through is not a judge, it is a statistical artefact.<\/p>\n<p>The model vendors know this better than anyone: OpenAI launched its own AI text classifier in early 2023, then withdrew it. Its official page still carries the exact note, checked on September 9, 2026: \u201cAs of July 20, 2023, the AI classifier is no longer available due to its low rate of accuracy.\u201d When the company that builds the models gives up on detecting them, that is a clear signal.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-comment-rendre-chatbot-indetectable-openai.jpg\" alt=\"Screenshot of the official OpenAI blog: July 20, 2023 note announcing the withdrawal of its AI text classifier\" decoding=\"async\"><figcaption>\u201cAs of July 20, 2023, the AI classifier is no longer available due to its low rate of accuracy\u201d: OpenAI withdrew its own AI text detector (official blog, checked on September 9, 2026).<\/figcaption><\/figure>\n<p>Then there are the \u201chumanizers\u201d, the tools that dominate the search results for this query (Uncheck AI, BypassGPT, Monica, HIX, to name the most visible ones, unlinked here so as not to advertise them). Their principle: automatically paraphrase your text to blur its statistical signature. Their limit: automatic paraphrasing degrades meaning, breaks numbers and introduces errors; some universities and publishers already use paraphrase detection; and the result remains a text you no longer control. For professional use, the method that holds up is simpler: draft with AI, then rewrite in your own words, with your examples and your verified data. It is faster than a battle of scores, and the text sounds like you. If you want to understand what a generative model actually does inside a chatbot, our article on the <a href=\"https:\/\/botnation.ai\/en\/generative-ai-chatbot\/\">generative AI chatbot<\/a> details the mechanism.<\/p>\n<div class=\"bn-cols\">\n<div class=\"bn-col cli\">\n<h4><span class=\"ez-toc-section\" id=\"What_a_humanizer_does\"><\/span><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"><\/path><path d=\"M22 4L12 14.01l-3-3\"><\/path><\/svg>What a humanizer does<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li>Rephrases every sentence to blur the statistics<\/li>\n<li>Often lowers the score of a given detector, at a given moment<\/li>\n<li>Costs a subscription, text after text<\/li>\n<\/ul>\n<\/div>\n<div class=\"bn-col warn\">\n<h4><span class=\"ez-toc-section\" id=\"What_it_does_not_do\"><\/span><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><path d=\"M12 8v4M12 16h.01\"><\/path><\/svg>What it does not do<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li>It fact-checks nothing: the AI\u2019s errors stay in<\/li>\n<li>It brings neither your experience, nor your data, nor your tone<\/li>\n<li>It does not protect you from another detector, or from the same one tomorrow<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<h2 id=\"signaux\"><span class=\"ez-toc-section\" id=\"What_gives_a_chatbot_away_to_your_visitors\"><\/span>What gives a chatbot away to your visitors<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Now let us put the chatbot itself on the examination table. A visitor does not run detection software: they decide within a few messages, on very human signals. Here they are, by frequency, in the conversations we read:<\/p>\n<ul>\n<li><b>The impossible rhythm:<\/b> a five-line block displayed in three tenths of a second. No human types that fast; a typing indicator that flashes too quickly is worse than nothing.<\/li>\n<li><b>Recurring phrasing:<\/b> \u201cI am sorry for the inconvenience\u201d repeated with every message. Two replies with identical structure to two different questions, and the machine is unmasked.<\/li>\n<li><b>The inability to handle off-script questions:<\/b> ask something slightly unusual and the bot loops back to its previous question instead of admitting its limits.<\/li>\n<li><b>The re-clarification loop:<\/b> the bot asks the same question three times in different words, never offering a way out.<\/li>\n<li><b>Amnesia:<\/b> asking again for the e-mail address or order number already given two messages earlier.<\/li>\n<li><b>No visible human exit:<\/b> when the bot fails, the visitor looks for a human and finds none; that is the most maddening detection of all.<\/li>\n<li><b>Context contradictions:<\/b> promising \u201can advisor will reply within 24 h\u201d on a Sunday at 3 a.m., or ignoring that the customer already has an open ticket.<\/li>\n<\/ul>\n<blockquote class=\"idn-bq\">\n<p><b>The dialogue that burns the bot:<\/b> \u201cI want to change my delivery date.\u201d \u201cI can help you track your order. Would you like to: 1. track an order, 2. track an order, 3. track an order?\u201d<\/p>\n<\/blockquote>\n<blockquote>\n<p><b>The dialogue that makes you forget the bot:<\/b> \u201cI want to change my delivery date.\u201d \u201cI can change a date if the parcel has not shipped yet. Shall I check your order number? Or I can hand you over to a colleague, as you prefer.\u201d Same machine, a two-sentence adjustment: the exchange stays useful, and the speaker\u2019s nature fades into the background.<\/p>\n<\/blockquote>\n<p>None of these signals is fixed by a magic tool. All of them are fixed by tuning, which is the subject of the next section.<\/p>\n<h2 id=\"leviers\"><span class=\"ez-toc-section\" id=\"The_six_levers_of_a_chatbot_you_stop_%E2%80%9Cseeing%E2%80%9D\"><\/span>The six levers of a chatbot you stop \u201cseeing\u201d<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Here are the six adjustments that, in our experience building chatbots, make the difference between a robot people endure and an assistant they use without thinking about it. They are deliberately operational: each translates into questions to ask yourself or concrete tasks.<\/p>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-comment-rendre-chatbot-indetectable-g1.jpg\" alt=\"Over-the-shoulder view of a person seen from behind at a laptop showing a conversation of empty chat bubbles, a hand-drawn dialogue notebook beside it\" decoding=\"async\"><figcaption>Write the dialogues by hand first, then wire them up: that is the only way to tune a tone that does not sound robotic.<\/figcaption><\/figure>\n<h3><span class=\"ez-toc-section\" id=\"1_A_welcome_message_that_owns_up_and_frames\"><\/span>1. A welcome message that owns up and frames<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>First message = status + promise + routes. \u201cHi, I am Lea, [brand]\u2019s virtual assistant. I answer questions about tracking, billing and warranties; for anything else, I will hand you over to a colleague.\u201d The visitor knows what to ask, to whom, and where to turn if it goes wrong. It is also, in practice, the easiest way to satisfy Article 50: the status \u201cis obvious\u201d from the very first contact.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"2_A_knowledge_base_that_lives\"><\/span>2. A knowledge base that lives<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>A bot indexed on your real content (FAQ, documentation, product sheets, internal procedures) answers with your words and your business exceptions; a bot fed generic texts sounds generic. If the topic interests you, our article on <a href=\"https:\/\/botnation.ai\/en\/rag-chatbot\/\">where a chatbot gets its knowledge<\/a> details how to connect a real base rather than general knowledge. And a base lives: closed offer, changed price, extended warranty, every month of delay creates wrong answers that \u201cgive the bot away\u201d far more than its nature does.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"3_A_calibrated_tone_not_a_neutral_one\"><\/span>3. A calibrated tone, not a neutral one<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The default tone of models is smooth, polite, featureless: that is precisely the signature visitors (and detectors) spot. Decide on formality, business vocabulary, target length (40 words per message, one idea per message), then ban recycled phrasing. Two rules work well: vary the wording of apologies and follow-ups, and allow a few short, deliberate, slightly imperfect sentences.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"4_A_human_rhythm\"><\/span>4. A human rhythm<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Progressive typing on long replies, slightly variable delays, one question at a time. The goal is not to simulate a human (that would be doubling down on the wrong idea), but to avoid the \u201cinstant telegram\u201d effect that makes the exchange mechanical. Transparency stays intact: the machine presents itself as a machine, it just takes the time to type.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"5_A_clean_visible_exit_to_a_human\"><\/span>5. A clean, visible exit to a human<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Even the best chatbot in the world sometimes fails; at that moment, the quality of the exit door decides the visitor\u2019s opinion. One-click handoff from the first menu, context passed to the advisor (no re-explaining the problem), support hours stated up front. Our <a href=\"https:\/\/botnation.ai\/en\/products\/client-support\/\">customer support chatbot<\/a> page shows how this connection is architected between bot and team.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"6_Training_on_your_real_conversations\"><\/span>6. Training on your real conversations<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The last lever is not a setting, it is a habit: read the conversations that went wrong every week, identify the misrecognized intent, fix the reply or the rule, and retrain. A \u201cnatural\u201d chatbot is one whose failures have been erased one by one. That is also what separates a demo from a production tool.<\/p>\n<div class=\"bn-call bn-tip\">\n<svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"><\/path><path d=\"M22 4L12 14.01l-3-3\"><\/path><\/svg>\n<div><span class=\"bn-klabel\">How to measure<\/span>\n<p>Two indicators are enough: the human takeover rate (share of conversations transferred to an advisor) and the question asked after the exchange (\u201cis your problem solved?\u201d). A takeover rate that falls over the weeks without satisfaction dropping is the signature of a bot that learns.<\/p>\n<\/div>\n<\/div>\n<h2 id=\"outil\"><span class=\"ez-toc-section\" id=\"Diagnostic_is_your_chatbot_%E2%80%9Cdetectable%E2%80%9D\"><\/span>Diagnostic: is your chatbot \u201cdetectable\u201d?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>This diagnostic turns the six levers above into six questions. Tick the option closest to your situation for each question: the score (out of 12 points), the verdict and the priorities recalculate on every click. No data is sent: everything is computed in your browser.<\/p>\n<div class=\"bn-niv\" id=\"ndx\" data-max=\"12\" data-none=\"No weak point across the six levers: keep it up by reviewing conversations every week.\">\n<h3><span class=\"ez-toc-section\" id=\"Is_your_chatbot_detectable\"><\/span>Is your chatbot detectable?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Six questions, one minute, an immediate verdict.<\/p>\n<div class=\"niv-q\">\n<p class=\"niv-qt\">1. Your welcome message<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"ndxq1a\"><input type=\"radio\" id=\"ndxq1a\" name=\"ndxq1\" value=\"2\" data-w=\"Keep the status disclosure in the first message: that is what Article 50 of the AI Act counts as clear information.\">States it is an assistant and offers 3 or 4 clear routes<\/label><br>\n<label class=\"cdc-chip\" for=\"ndxq1b\"><input type=\"radio\" id=\"ndxq1b\" name=\"ndxq1\" value=\"1\" checked data-w=\"Add the status disclosure to your welcome message: without it, a visitor may believe they are chatting with a human, and the information required by the AI Act is missing.\">Offers routes, but never says it is an assistant<\/label><br>\n<label class=\"cdc-chip\" for=\"ndxq1c\"><input type=\"radio\" id=\"ndxq1c\" name=\"ndxq1\" value=\"0\" data-w=\"Stop: passing a chatbot off as a human is precisely what Article 50 of Regulation (EU) 2024\/1689 has prohibited since 2 August 2026.\">Imitates a human first name and never reveals the status<\/label>\n<\/div>\n<\/div>\n<div class=\"niv-q\">\n<p class=\"niv-qt\">2. Unexpected or out-of-scope question<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"ndxq2a\"><input type=\"radio\" id=\"ndxq2a\" name=\"ndxq2\" value=\"2\" data-w=\"That is proper out-of-scope handling: admit it, clarify in at most two questions, then offer the handoff.\">The bot admits it, offers a rephrasing or the exit to a human<\/label><br>\n<label class=\"cdc-chip\" for=\"ndxq2b\"><input type=\"radio\" id=\"ndxq2b\" name=\"ndxq2\" value=\"1\" checked data-w=\"Plan real out-of-scope handling: a varied apology, two clarification questions, then a handoff instead of a loop.\">It repeats the same apology sentence whatever the question<\/label><br>\n<label class=\"cdc-chip\" for=\"ndxq2c\"><input type=\"radio\" id=\"ndxq2c\" name=\"ndxq2\" value=\"0\" data-w=\"An invented answer is the worst scenario: it costs more trust than an honest handoff to a human.\">It invents a plausible but wrong answer<\/label>\n<\/div>\n<\/div>\n<div class=\"niv-q\">\n<p class=\"niv-qt\">3. The bot\u2019s knowledge base<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"ndxq3a\"><input type=\"radio\" id=\"ndxq3a\" name=\"ndxq3\" value=\"2\" data-w=\"That is the strongest foundation: every answer leans on your real documentation, business exceptions included.\">Your real content (FAQ, docs, products), reviewed every month<\/label><br>\n<label class=\"cdc-chip\" for=\"ndxq3b\"><input type=\"radio\" id=\"ndxq3b\" name=\"ndxq3\" value=\"1\" checked data-w=\"Schedule a monthly review: a bot quoting an offer closed six months ago gives itself away.\">Your content at launch, never updated since<\/label><br>\n<label class=\"cdc-chip\" for=\"ndxq3c\"><input type=\"radio\" id=\"ndxq3c\" name=\"ndxq3\" value=\"0\" data-w=\"Tie every answer to your real content: a generic base sounds generic, and it shows from the first reply.\">Generic texts that never mention your business<\/label>\n<\/div>\n<\/div>\n<div class=\"niv-q\">\n<p class=\"niv-qt\">4. Tone and phrasing<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"ndxq4a\"><input type=\"radio\" id=\"ndxq4a\" name=\"ndxq4\" value=\"2\" data-w=\"Keep going: a hand-written tone varies its phrasing and keeps a consistent length without feeling mechanical.\">Calibrated to your brand: formality, business vocabulary, short and varied sentences<\/label><br>\n<label class=\"cdc-chip\" for=\"ndxq4b\"><input type=\"radio\" id=\"ndxq4b\" name=\"ndxq4\" value=\"1\" checked data-w=\"Vary length and phrasing: two replies with identical structure to two different questions instantly sound machine-made.\">Correct but uniform: always the same length, the same phrasing<\/label><br>\n<label class=\"cdc-chip\" for=\"ndxq4c\"><input type=\"radio\" id=\"ndxq4c\" name=\"ndxq4\" value=\"0\" data-w=\"Split it up: one idea per message, 40 words maximum, and keep a few deliberate short sentences.\">Perfect five-line blocks, copy-pasted from canned replies<\/label>\n<\/div>\n<\/div>\n<div class=\"niv-q\">\n<p class=\"niv-qt\">5. Reply rhythm<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"ndxq5a\"><input type=\"radio\" id=\"ndxq5a\" name=\"ndxq5\" value=\"2\" data-w=\"That is the right setting: a short but visible delay makes the exchange feel alive without slowing it down.\">Progressive typing, variable delays, one question at a time<\/label><br>\n<label class=\"cdc-chip\" for=\"ndxq5b\"><input type=\"radio\" id=\"ndxq5b\" name=\"ndxq5\" value=\"1\" checked data-w=\"Simulate typing on long replies: a block displayed in a tenth of a second reads like a telegram.\">The full reply appears in a fraction of a second<\/label><br>\n<label class=\"cdc-chip\" for=\"ndxq5c\"><input type=\"radio\" id=\"ndxq5c\" name=\"ndxq5\" value=\"0\" data-w=\"Show an activity indicator during processing: waiting with no signal reads as a bug, not as thinking.\">Long random delays, with no activity indicator<\/label>\n<\/div>\n<\/div>\n<div class=\"niv-q\">\n<p class=\"niv-qt\">6. Exit to a human<\/p>\n<div class=\"cdc-chips\">\n<label class=\"cdc-chip\" for=\"ndxq6a\"><input type=\"radio\" id=\"ndxq6a\" name=\"ndxq6\" value=\"2\" data-w=\"That is the reassuring configuration: a handoff visible from the welcome message makes the bot bearable as soon as it fails.\">Visible from the start: handoff with context passed, hours stated<\/label><br>\n<label class=\"cdc-chip\" for=\"ndxq6b\"><input type=\"radio\" id=\"ndxq6b\" name=\"ndxq6\" value=\"1\" checked data-w=\"Move the human exit up into the first menu: an escape hatch buried in a submenu is as good as none.\">Present, but buried deep in a menu<\/label><br>\n<label class=\"cdc-chip\" for=\"ndxq6c\"><input type=\"radio\" id=\"ndxq6c\" name=\"ndxq6\" value=\"0\" data-w=\"Create a universal exit: after repeated misunderstanding, offer the human channel instead of the loop.\">No way out: the bot loops until the visitor gives up<\/label>\n<\/div>\n<\/div>\n<div class=\"niv-out\">\n<p class=\"niv-score\"><b>6<\/b> <span>naturalness points out of 12<\/span><\/p>\n<div class=\"niv-gauge\">\n<p><i style=\"width:50%\"><\/i><\/p>\n<\/div>\n<div class=\"nivv\"><b>Highly detectable<\/b>\n<p>Your visitor knows they are talking to a machine within the first exchanges, and the experience does not make up for it. Work through the priorities below one by one, starting with the status disclosure and the human exit: those are the two cheapest fixes.<\/p>\n<\/div>\n<div class=\"nivv on\"><b>Needs consolidation<\/b>\n<p>The foundations are there, but blind spots remain: follow the priorities below, ordered by lever. An average profile turns natural in a few iterations of reviewed and corrected conversations.<\/p>\n<\/div>\n<div class=\"nivv\"><b>Natural profile<\/b>\n<p>Announced, competent, well-paced and connected to a human: your chatbot makes people forget its nature without ever hiding it. Keep the level up by reviewing the conversations that went wrong every week.<\/p>\n<\/div>\n<p class=\"niv-weak\"><b>Top priorities<\/b> <span class=\"niv-weak-list\">Add the status disclosure to your welcome message: without it, a visitor may believe they are chatting with a human, and the information required by the AI Act is missing. | Plan real out-of-scope handling: a varied apology, two clarification questions, then a handoff instead of a loop. | Schedule a monthly review: a bot quoting an offer closed six months ago gives itself away. | Vary length and phrasing: two replies with identical structure to two different questions instantly sound machine-made. | Simulate typing on long replies: a block displayed in a tenth of a second reads like a telegram. | Move the human exit up into the first menu: an escape hatch buried in a submenu is as good as none.<\/span><\/p>\n<\/div>\n<\/div>\n<p><script>(function(){var w=document.getElementById(\"ndx\");if(!w){return}function run(){var qs=w.querySelectorAll(\".niv-q\");var tot=0;var adv=[];Array.prototype.forEach.call(qs,function(q){var c=q.querySelector(\"input:checked\");if(!c){return}var v=parseInt(c.value,10);if(isNaN(v)){v=0}tot+=v;if(v!==2){var m=c.getAttribute(\"data-w\");if(m){adv.push(m)}}});var mx=parseInt(w.getAttribute(\"data-max\"),10);if(isNaN(mx)){mx=12}var sc=w.querySelector(\".niv-score b\");if(sc){sc.textContent=String(tot)}var g=w.querySelector(\".niv-gauge i\");if(g){g.style.width=String(Math.round(tot*100\/mx))+\"%\"}var band=0;if(tot>4){band=1}if(tot>8){band=2}var pv=w.querySelectorAll(\".nivv\");Array.prototype.forEach.call(pv,function(p,i){if(i===band){p.classList.add(\"on\")}else{p.classList.remove(\"on\")}});var wl=w.querySelector(\".niv-weak-list\");if(wl){if(adv.length===0){wl.textContent=w.getAttribute(\"data-none\")||\"\"}else{wl.textContent=adv.join(\" | \")}}}w.addEventListener(\"change\",run);run()})();<\/script><\/p>\n<h2 id=\"methode\"><span class=\"ez-toc-section\" id=\"The_five-step_method_with_no_detection_tool\"><\/span>The five-step method (with no detection tool)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Do you recognize your chatbot in the diagnostic? Here is the order in which we build this type of project when we run it for clients, and which you can follow on your own if you prefer:<\/p>\n<ol class=\"bn-steps\">\n<li><b>Set the scope on real material.<\/b> Export three months of tickets, e-mails and calls: the 20 recurring questions are your v1 scope. Everything else must lead to a human exit, not to improvisation.<\/li>\n<li><b>Write the dialogues by hand first.<\/b> For each question: the ideal reply, two wording variants, and the follow-up question. Read them out loud: what sounds wrong to the ear is fixed in five minutes on paper, five weeks in production.<\/li>\n<li><b>Wire the base and the tone.<\/b> Connect your real content, set formality, vocabulary, target length and forbidden phrasing. This is the step where a no-code platform like Botnation takes over from paper.<\/li>\n<li><b>Test with ten people who do not know the project.<\/b> Only one question matters: at which message did you know it was a bot, and did that bother you? \u201cEarly, but I did not mind\u201d is an excellent result; \u201cbecause of the useless reply\u201d pinpoints the exact dialogue to rewrite.<\/li>\n<li><b>Install the improvement loop.<\/b> Every week: review transferred or abandoned conversations, fix the faulty intent, retrain. Naturalness is not a state, it is a maintenance rhythm.<\/li>\n<\/ol>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-comment-rendre-chatbot-indetectable-g2.jpg\" alt=\"Top-down view of two hands in cream knit sleeves laying out blank speech-bubble dialogue cards on a light-wood desk\" decoding=\"async\"><figcaption>A natural dialogue is built card by card: every reply offers a next step, never a tunnel.<\/figcaption><\/figure>\n<figure class=\"bn-fig\"><img src=\"https:\/\/botnation.ai\/wp-content\/uploads\/2026\/09\/botnation-ai-comment-rendre-chatbot-indetectable-demoen.jpg\" alt=\"Screenshot of the Botnation template gallery: ready-to-test chatbot templates by industry\" decoding=\"async\"><figcaption>The Botnation template gallery: templates by industry, so you can start from dialogues that have already proven themselves.<\/figcaption><\/figure>\n<h2 id=\"prix\"><span class=\"ez-toc-section\" id=\"Who_can_build_it_and_at_what_price\"><\/span>Who can build it, and at what price?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Three routes exist: build it yourself on a no-code platform, get occasional support, or have the chatbot built by a specialized team. Botnation covers all three: editor of the platform, and provider of custom chatbot creation through its Enterprise offer and its chatbot creation experts (on quote). The point of a team that builds with the tool it edits: no intermediary between the platform and your dialogues, and you keep control of your account, your scenarios and your base after delivery.<\/p>\n<div class=\"bn-tablewrap\">\n<table>\n<thead>\n<tr>\n<th>Botnation plan<\/th>\n<th>Public price checked on September 9, 2026 (excl. VAT)<\/th>\n<th>What it covers<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>For free<\/td>\n<td>0 EUR<\/td>\n<td>Create and publish a chatbot to discover the platform<\/td>\n<\/tr>\n<tr>\n<td>Basic<\/td>\n<td>39 EUR \/ month<\/td>\n<td>Full features, analytics, unlimited chatbots<\/td>\n<\/tr>\n<tr>\n<td>Pro<\/td>\n<td>59 EUR \/ month<\/td>\n<td>The most popular plan, with more users and included AI credits<\/td>\n<\/tr>\n<tr>\n<td>Entreprise<\/td>\n<td>On quote<\/td>\n<td>Chatbot creation services, dedicated account manager, personalized onboarding, premium support<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>On custom builds, the price depends on the number of channels (website, WhatsApp, Messenger, Instagram), the volume of intents to cover and the integrations to connect (CRM, ticketing, customer base): that is exactly why it is priced on quote, never as a generic package. A third-party agency remains legitimate if you are after a very specific trade or an integrator already in place at your company; what matters is choosing someone who will deliver dialogues tuned to the six levers, not just a flow that \u201cworks\u201d.<\/p>\n<div class=\"bn-cta\">\n<h3><span class=\"ez-toc-section\" id=\"A_natural_announced_and_well-tuned_chatbot\"><\/span>A natural, announced and well-tuned chatbot?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Test the platform for free, or ask our chatbot creation experts to study your project: diagnostic of your 20 recurring questions, dialogue plan and pricing on quote.<\/p>\n<p><a class=\"bn-cta-btn\" href=\"https:\/\/botnation.ai\/en\/contact\/\">Request a quote<\/a>\u00a0\u00a0<a class=\"bn-cta-btn\" href=\"https:\/\/botnation.ai\/en\/pricing\/\" style=\"background:var(--bn-card);color:var(--bn-ink) !important;box-shadow:none\">See pricing<\/a><\/p>\n<\/div>\n<h2 id=\"faq\"><span class=\"ez-toc-section\" id=\"Frequently_asked_questions\"><\/span>Frequently asked questions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<details class=\"bn-faq\">\n<summary>Is there a free way to make an AI text undetectable?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Yes, and the most effective one is free: rewrite the generated text yourself, adding your examples, your verified figures and your own phrasing. Free humanizers, on the other hand, cap quickly on volume and degrade the text; you trade a detector score for real mistakes, which is a bad deal for professional use.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Does a \u201cmagic\u201d prompt make ChatGPT undetectable?<\/summary>\n<div class=\"bn-faq-b\">\n<p>No. A style requested in the prompt (sophisticated vocabulary, irregular sentences) lowers some scores on some tools, at a given moment: the 2023 Patterns study showed the same effect in reverse for human texts. But every detector keeps relearning, and a text rarely passes every test. The prompt is a writing tool, not a durable disguise.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Are AI text detectors reliable?<\/summary>\n<div class=\"bn-faq-b\">\n<p>No, and it is documented: on average 61.22% of human essays written by non-native authors were classified as \u201cAI\u201d by the seven detectors tested (Patterns study, 2023, figures from Stanford HAI\u2019s coverage of the study), and OpenAI withdrew its own classifier on July 20, 2023 due to its low rate of accuracy. A detector score is a clue, never proof; never make a decision about a person based on a score alone.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Should the chatbot also be announced on WhatsApp, Messenger or Instagram?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Yes. Article 50\u2019s information duty applies as soon as an AI system interacts directly with natural persons, whatever the channel; messaging platforms also regulate automation in their terms of use. In practice, a first message announcing the assistant and offering the human exit settles both requirements at once.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>Can we say \u201cvirtual assistant\u201d instead of \u201crobot\u201d?<\/summary>\n<div class=\"bn-faq-b\">\n<p>Yes, provided the status stays clear: \u201cvirtual assistant\u201d or \u201cautomated assistant\u201d informs honestly. What the regulation targets is deception: a bot introducing itself as \u201cJean, customer advisor\u201d when no Jean will ever read the conversation. Article 50\u2019s test is that of a reasonably well-informed person: when in doubt, simply say what it is.<\/p>\n<\/div>\n<\/details>\n<details class=\"bn-faq\">\n<summary>How long does it take to make a chatbot natural?<\/summary>\n<div class=\"bn-faq-b\">\n<p>A correct first version takes a few weeks of work on the dialogues, the time to write the recurring replies and connect the knowledge base. Naturalness itself is maintained: it is the regular review of failed conversations that erases flaws one by one. For full handling by our teams, the schedule is priced on quote, depending on scope and integrations.<\/p>\n<\/div>\n<\/details>\n<h2 id=\"conclusion\"><span class=\"ez-toc-section\" id=\"The_real_%E2%80%9Cundetectable%E2%80%9D_is_being_forgotten\"><\/span>The real \u201cundetectable\u201d is being forgotten<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>A truly undetectable chatbot is not a disguised chatbot: it is a chatbot so useful that people stop wondering who they are talking to. The law settled the disguise question on 2 August 2026; the detectors settled the score question by proving unable to tell human from machine reliably; all that remains, fortunately, is the most interesting part: writing dialogues that earn the machine being forgotten. The six levers in this guide are enough, and our diagnostic tells you where to start.<\/p>\n<div class=\"bn-cta\">\n<h3><span class=\"ez-toc-section\" id=\"Take_action\"><\/span>Take action<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Build it yourself on the platform, or entrust it to our chatbot creation experts: either way, you start from your real conversations, not from generic text.<\/p>\n<p><a class=\"bn-cta-btn\" href=\"https:\/\/botnation.ai\/en\/pricing\/\">Try the platform<\/a>\u00a0\u00a0<a class=\"bn-cta-btn\" href=\"https:\/\/botnation.ai\/en\/contact\/\" style=\"background:var(--bn-card);color:var(--bn-ink) !important;box-shadow:none\">Talk to an expert<\/a><\/p>\n<\/div>\n<p class=\"idn-note\">Sources: Regulation (EU) 2024\/1689, Articles 50, 99 and 113, EN text re-read on EUR-Lex on September 9, 2026; Liang et al., \u201cGPT detectors are biased against non-native English writers\u201d, Patterns, 2023 (figures from Stanford HAI\u2019s coverage of the study); AI classifier withdrawal note, official OpenAI blog, July 20, 2023, checked on September 9, 2026; public Botnation pricing checked on September 9, 2026 (prices excl. VAT). Competitors and third-party tools are named in plain text, without links.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In short. \u201cMaking a chatbot undetectable\u201d covers three different requests: getting an AI-generated text past detectors (technically possible, but fragile), making visitors forget they are talking to a machine (the real playground), and hiding that status (prohibited: the European AI regulation has required informing the visitor since 2 August 2026, with fines of up to [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":31608,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[362],"tags":[],"class_list":["post-31618","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chatbot-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/comments?post=31618"}],"version-history":[{"count":2,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31618\/revisions"}],"predecessor-version":[{"id":31621,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/posts\/31618\/revisions\/31621"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/media\/31608"}],"wp:attachment":[{"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/media?parent=31618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/categories?post=31618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/botnation.ai\/en\/wp-json\/wp\/v2\/tags?post=31618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}