PlotVeil Add to Chrome
Chrome extension · YouTube comments
The Veil Keeper holding a finger to its lips

Shh, keep the surprises.

Comments arrive covered. Anything that would spoil what you are watching stays that way — until you decide otherwise.

No account · No analytics · YouTube only · Open about what it sends

NewJudgments run on Jev, TypeSafe's System One model — 70–500 ms, no generated text
Harrow Bay — Episode 6 breakdown live demo
Sensitivity hides p ≥ 0.70
01 — How it works

Covered first. Judged second.

Most blockers match keywords and lose the race against your eyes. PlotVeil inverts the order: nothing is readable until it has been checked, and a failed check keeps the cover on.

STEP 01

Covered on arrival

As comments load, PlotVeil covers them in place — the original text is hidden, not blurred, and the layout does not jump. Likes, replies and translation rows stay where they were.

STEP 02

Read for meaning

Each comment is judged against the video title, channel, and any other works you asked to protect. No keyword list, no "death" and "dies" blocklist — an oblique hint in Japanese counts as much as an explicit one in English.

STEP 03

Reveal, and re-hide

Clean comments come back instantly. Spoilers stay covered until you choose Show anyway — and the Veil Keeper stays right there, so one click puts the cover back.

02 — The engine

Not a chatbot. A System One model.

PlotVeil runs on Jev, TypeSafe AI's System One model, released September 2026. Jev gives up writing text entirely. It takes unstructured state in and returns typed, calibrated probabilities out — which happens to be exactly the shape of the question "would this comment ruin the episode?"

What PlotVeil asks
{
  "model": "jev-latest",
  "state": {
    "video_title": "Harrow Bay — Episode 6 breakdown",
    "channel": "Late Night Rewatch",
    "comments": { "c42": "Book readers: they kept…" }
  },
  "questions": {
    "c42": { "type": "noul",
      "instructions": "state.comments.c42 reveals a
      plot point of the work being watched" }
  }
}
What comes back
{ "answers": { "c42": { "type": "noul", "noul": 0.93 } } }
70–500 ms

TypeSafe's published end-to-end range for Jev, 40–200× faster than frontier LLMs. Fast enough that a comment can be covered, checked and uncovered before you scroll past it.

1 query per batch

Jev samples every answer in parallel, so twenty comments are one question set, not twenty round trips.

0 strings generated

No free text means no hallucinated verdict and no type errors to parse around. A comment cannot talk the model into letting it through.

p = calibrated probability

Every answer is a number, not a yes or no. That number is what the sensitivity setting acts on — which is why the setting is honest instead of decorative.

0.85Easygoing — only cover what is very likely a spoiler.
0.70Standard — the default.
0.50Cautious — a lower bar covers more, including the near misses.

Changing sensitivity re-uses the probabilities already in hand: no second request, no second charge. Requests go through PlotVeil's own Cloudflare Worker, which holds the API key and strips your installation ID before the model ever sees the text. Latency figures above are TypeSafe's; our own round trip measured around 0.7s in testing, and your network will differ.

03 — The Veil Keeper

One small character tells you everything.

No badge counts, no toasts, no pop-ups mid-video. The Keeper in your toolbar, on the player and beside each covered comment carries the whole state of protection in a single glance — hover or click it when you want the details.

Neutral idle

Nothing to do here — not a video page, or the comments have not loaded yet. It will not call this "safe."

Scout checking

Eyes open, first batch in flight. Everything waiting on a verdict is already covered.

Calm clear so far

Nothing spoiler-ish in what has been checked. Honest about the "so far": comments still loading are still pending.

Guard protecting

Spoilers found and held under cover. This is the state you will see most on an active comment section.

Peek revealed

You chose to read something. The Keeper waits beside it, one click from putting the cover back.

Concerned error

A check timed out, the quota ran out, or a comment was too long. Covers stay on, the reason is spelled out, and nothing flashes red at you.

Closed off

Protection paused, or you are on a channel you marked as trusted. Covers come off, nothing is sent, nothing is judged.

Quiet by design

Comment covers are one line of plain text. The player entry only opens a panel when you click it. Under 520px, it gets out of the way entirely.

04 — Plain terms

What it does, in full.

  • Covers before it judges. Text is hidden with visibility, not blur — there is no half-readable moment.
  • Protects works you are not even watching. Add titles you are behind on, and comments that spoil them get covered here too.
  • Survives the page. Infinite scroll, replies, edited comments, theatre mode, SPA navigation, light and dark — the covers keep up.
  • Trusted channels. Somewhere you know is spoiler-free? Turn protection off for that channel only.
  • Every cover is reversible, every reveal is re-coverable. In both directions, instantly.
Honest limits

What it will not claim.

  • Comments that have not loaded yet have not been checked. "Clear so far" never means "all clear."
  • A judgment can be wrong in both directions. That is why every cover lifts with one click and every reveal goes back.
  • Video titles, thumbnails and recommendations are untouched for now. This is a comment tool.
  • YouTube comments only today. Bilibili comments and danmaku share the same judgment core, but they are not supported yet and are not sold as if they were.
05 — Privacy

Judging text means sending text. Here is all of it.

While protection is on, comments near your viewport go out with the video title, the channel, any works you asked to protect, and a random installation ID used only for the daily quota. The model never receives that ID.

Read the privacy page

Never sent

Your Google account. Cookies. Watch history. Page URLs. Comment author names. Anything from any site other than youtube.com.

Never present

Analytics, tracking pixels, third-party scripts, ad identifiers — on the extension and on this page alike. The fonts you are reading are served from this domain.

06 — Questions

Before you install.

Does it slow the comment section down?

Comments appear as fast as YouTube renders them — they simply arrive covered. Jev's speed is the reason that cover can lift again within a fraction of a second rather than after a visible pause. Batches of up to 20 comments go out at once, with at most two requests in flight.

What happens when a check fails?

The cover stays on. A failed, timed-out or over-quota check is never treated as "safe" — the Keeper turns Concerned, tells you which of those it was, and offers a retry when retrying would actually help. You can still reveal any individual comment by hand.

Will it hide comments that are not spoilers?

Sometimes, yes — especially on Cautious. Every cover is one click from lifting, and lifting one never asks you to disable protection for the rest.

Is it free?

Yes, with a daily judgment quota per installation to keep the model costs sane. If you hit it, PlotVeil says so plainly and tells you when it resets.

Does it work on other browsers or sites?

Chrome and Chromium-based browsers, on youtube.com. Firefox and the next set of sites are on the roadmap; neither is claimed as working today.

Who makes it?

One independent developer. Not affiliated with YouTube, Google or TypeSafe AI.

Go read the comments.

The good ones are still down there. PlotVeil just holds the door on the rest until you have finished the episode.

The Veil Keeper peeking out from under its hood