DEV Community

Evan Mercer
Evan Mercer

Posted on

What a no-login viewer can and can't hide from the platform

"Anonymous" is the word everyone reaches for when describing a tool that shows public social media content without an account. I use it too, for TikStories, the small TikTok story viewer I maintain. But the word covers two separate requests with different privacy properties, and it's worth pulling them apart, because the honest answer to "can TikTok see me?" is "partly, and here is which part."

Two requests, not one

When you paste a username into a viewer like this, two different things happen:

  1. The lookup. Something has to ask TikTok "what stories and videos does this public account have right now?" and get back a list of items with their URLs and timestamps.
  2. The playback. Once you pick a story, the actual video bytes have to travel from a server to your browser.

Each of these requests has its own sender, and the privacy question is really "who is the sender, and what do they carry?"

The lookup: a server with nothing attached

In TikStories the lookup runs server-side. The server asks for the public account's data carrying no cookies and no session — no TikTok account of mine, and obviously none of yours, because you never gave the tool one.

What that buys you:

  • TikTok doesn't receive your login cookie for that request, because it isn't coming from your browser.
  • Nothing about the lookup is tied to a TikTok account, so it can't land in a "recently viewed" list or a story-viewers list on the account owner's side.
  • Your own TikTok recommendations aren't nudged by the lookup, since no account is attached to learn from.

What it doesn't buy you: the tool's server still made the request. Whatever TikTok logs about server traffic, it logs about that server, not about nobody.

The playback: direct from TikTok's CDN

This is the part people tend to assume is also hidden, and it isn't. Once a story or video is on screen, it streams straight from TikTok's own CDN into your browser, exactly as it would on any public TikTok page.

That means the CDN request comes from your browser, so it carries your IP address and ordinary browser headers, like any image or video you load from any website. It does not carry a TikTok login, because the media URL is a plain CDN link, not a request made from inside your logged-in TikTok session.

Why not proxy the video too?

The obvious "more private" design is to route the video bytes through the tool's own server, so the CDN only ever sees the server. TikStories doesn't, and the trade-offs are worth spelling out:

  • Cost and speed. Video is the heavy part. Proxying it would mean every byte of every story passing through the server twice. For a free tool with no query limit, that trades a small, well-understood privacy gain for a much slower, much more fragile service.
  • It moves the trust, it doesn't remove it. A proxy hides your IP from TikTok's CDN by showing it to the proxy operator instead. For most people, "a CDN that serves half the internet's short video sees a request" is not a worse outcome than "a stranger's side project sees every video you watch."
  • It invites the wrong expectations. A proxy makes a tool look like a privacy product. This one isn't. It's a way to read something public without being forced to sign in first.

A way to explain it to users

The one-sentence version I've settled on:

The lookup carries no account, yours or mine; the video plays from TikTok's CDN like any public page, so it sees an ordinary request from your browser, without a login attached.

It's less catchy than "100% anonymous," but it holds up if someone checks the network tab, which is the test any privacy claim should pass.

The limits that follow from this

Because the whole design is "read what's already public, without a session," a few things are simply out of reach, and I'd rather say so than have people discover it:

  • Private accounts can't be opened. Their stories are only served to approved followers; there's no public request that returns them.
  • Expired stories are gone. Stories disappear 24 hours after posting and nothing is archived, which is also why each tile shows the hours left.
  • Your own story's viewer list only exists inside the TikTok app, tied to your account.

If you're building anything in this category, whether for TikTok, X, Instagram or anything else with a login wall in front of public content, I'd suggest writing down your own version of those two requests before writing the word "anonymous" on the landing page. It makes the copy more honest and the support inbox quieter.

Top comments (0)