I work on OnePassApps, and we build the browser apps behind this post. This one is the Browser Teleprompter: paste a script, set the speed and the text size, and read it back at your own pace - with a mirror control for a reflector setup.
The panel's own line is the promise: "Read a script at your own pace, with mirror controls. No camera or microphone."
Try it on the Browser Teleprompter, or see how it sits with the rest of the suite in the app guides.
Two stages
01 Script holds a textarea whose placeholder reads "Paste the script you want to read...", next to a "Load example script" button. Under it, a word counter that read "0 words" on a blank page, and the limit line: "Up to 60,000 characters. Cleared when you leave."
02 Display holds the controls:
- "Scroll speed", in px/s, as a slider with its own bounds - min 5, max 200, step 5 - beside a number box carrying the same bounds. It opened at 40.
- "Text size", in px, as a slider from 20 to 96 in steps of 2, with a matching number box. It also opened at 40.
- "Mirror", a switch labelled "Flip for a reflector".
Below them the app prints its own keyboard map:
- Space: play or pause
- Up and down arrows: speed
- Home: restart
- M: mirror
- Escape pauses.
What the display area shows
The prompter panel is headed "PROMPTER" and "Script display", and with no script in it, it reads "Your script appears here" with the hint "Paste or type it in step 01, or load the example. Up to 60,000 characters, 5–200 px/s, text 20–96 px."
Two counters sit underneath - "Elapsed" and "Remaining" - both reading 0:00 on an idle page - and a "Load example" button sits in the display area as well.
With an empty script, the app's own action controls are disabled: "Download TXT", "Present full screen", the Play button and "Restart (Home)" all render disabled, and the page title reads "Browser Teleprompter — Scroll and mirror your script — OnePassApps".
The storage check
Nothing about your script is written down. localStorage held four keys - __clerk_environment, onepass:recent-apps, toolpass-theme-preset and toolpass-store - and the values are the site's own: the Clerk environment blob, the recent-app id list, the theme preset ("graphite") and the app store holding favourite and recent product ids. sessionStorage held one key, toolpass.feature-subject.v1. No script text was in any of them.
The wire
With the network trace running for the whole session, the page made 132 requests: 129 GETs and 3 OPTIONS preflights, and not one request carried a body. The panel's own line - "Nothing leaves this tab." - matches what the trace shows.
What the guide says it is not
The app's own guide (the page linked above) states the boundaries plainly: "The tool runs locally without an account, camera, microphone or recording permission. It does not generate a script or follow your voice automatically." It lists the same two ranges - "Adjust text from 20 to 96 pixels and scrolling speed from 5 to 200 pixels per second" - and adds a Reading mode, "Mirror the script for a reflective setup while leaving controls readable, or hide the editor in Reading mode."
The promotional notice is on the page too
At the bottom of the app: "FREE PROMOTIONAL PERIOD", "Standard is free right now", "$0 / month", "100,000 credits every 30 days · No end date set · No card required" and "No automatic paid subscription. Existing paid subscriptions keep their terms.", with "Get started" and "See plans" buttons. The header's account button read "Account, not signed in" the whole time, and the tool needed no sign-in to run.
Limits
One build, one browser, one signed-out session, measured on 6 Nov 2026.
- I did not run a playback session, so nothing here claims how the Elapsed and Remaining counters behave once the script is scrolling.
- "Download TXT" and "Present full screen" were never pressed: with an empty script both controls are disabled.
- The Mirror switch was left off and Reading mode was not opened - that one is quoted from the guide, not from this session.
- The 60,000-character ceiling is the app's own line, not a script I typed into it.
- The word counter read "0 words" on an empty script; I did not measure how it treats punctuation or numbers.

