StrangR: Exposed

Claims

Quotes are from the live page and from /assets/index-BxW-GTpl.js as deployed on 3 October 2026. The HTML shell is 1,272 bytes. Almost every sentence lives in that script.

What the product says Where What the build does
"StrangR is the easiest, safest, and most beautifully designed place to have a conversation with someone you've never met." Meta description on index.html. A superlative with no safety document behind it. There is no privacy policy, no about page, and no working guidelines page in this build.
"The easiest, safest place on the internet to share a late-night thought, explore an idea, or just talk." Homepage, under the headline "Talk with someone you've never met." Safety tools that exist in the client: a report form, a block list, and a moderator dashboard. The report form stores up to 2,000 characters of the message. Nothing in the client calls an AI moderation API before a message is sent.
"1-on-1 Anonymous Conversations" and "100% Anonymous." Homepage badge and checklist. A new session already has a server-assigned display name. Room events carry username, name, age, gender, country, and topic. The word "Anonymous" is the subtitle used when age, gender, and country are blank. The nav also has a public room, #general, described as a room "where anyone can join and chat."
"No Account Required." Homepage checklist. The gender click calls POST /api/auth/initialize and stores a user. Login copy says "Reconnect with your permanent username." Settings says the username "is your permanent identity." Logging out calls the logout endpoint, then calls initialize again and opens /login.
"No email or real identity required." Login page. The client never asks for an email. It does ask for, or assign, a username, a display name, an optional password, and optional age, gender, country, location, and topic. The session cookie is an identifier for 30 days.
"18+ Only." Homepage checklist. The element uses the class opacity-60. The age input is type="number" with min="13" and max="100". No screen in the client blocks a session that has no age. This check did not enter a live match, so a hidden server-side refusal is possible. The door in the interface does not ask.
"Moderated & Safe." Homepage checklist. Users can report Harassment, NSFW / Inappropriate, Hate Speech, Spam / Scam, Underage, or Other. The thank-you text says "Moderation will review this log immediately." The moderator screen is a manual queue: "Loading reports from database..." and a form titled "Issue User Ban." The client cannot show that a person is sitting on that queue.
"StrangR Protection: Mutual consent required · Strict blocking & moderation." Friends screen. Friend requests and private rooms (prv_ ids) wait for the other person. Random matching does not. #general is described as open. Blocking exists: "Users you block will be listed here. Blocked users cannot match with you or send requests."
"Encrypted in transit · Anonymous." Composer footer on match rooms (room ids that start with m_). Transit encryption is the wss:// connection to Render. send() does JSON.stringify and writes that string to the socket. Public rooms get a different footer, "Public channel · Be kind." Friend rooms get "Private conversation · Friends only."
"By chatting, you agree to our Community Guidelines." Homepage, linking to /terms-and-conditions. The router registers /, /r, /r/:room_id, /friends, /settings, /login, and /moderation. There is no guidelines route and no guidelines text in the bundle. Vercel returns the same app shell for /privacy, /terms, and /about (HTTP 200, 1,272 bytes). React Router then has nothing to render for those paths.
"Anonymous and confidential." Report dialog. The report is sent with credentials: "include" to POST /api/reports, with the target username, a category, a reason, the room id, and up to 2,000 characters of message content. The moderator UI reads those rows from a database. "Confidential" is not defined anywhere in the client.
"You need at least 930 points before you can send images or voice notes. Keep chatting to earn more points." Composer, when points is under 930. The server can also answer with INSUFFICIENT_POINTS. New accounts start at points: 0. Text chat is available immediately. Images (JPEG, PNG, WebP) and MediaRecorder voice notes wait on a score. The client does not show the earning rate. SVG is rejected in the browser. No image-scanning library is in the bundle.

A claim the product does not make, and a pitch that did

This build never uses the words "end-to-end." A Reddit account pitching an app of the same name, on 13 September 2025, said the app was end-to-end encrypted, then described a cloud model that reads messages. That record is on the operator page. The live site does not say that account runs this deployment.