Type a message once. Both of this week's real chatbots answer it side by side: the branch their code took, the exact bytes they put in the page, and what the browser builds from those bytes. Nothing is executed here; the browser's parser reads the bytes in an inert document and this page reports what would run.
Try it in the lab:
and on the guarded bot:
vulnerable_chatbot.py :8082guarded_chatbot.py :8083