Skip to main content

Built for Paranoia

We don't want your data. We architected the application so we physically cannot take it.

1. No Telemetry, No Trackers

Most modern applications bundle Google Analytics, Mixpanel, or Sentry to track user behavior and crashes. uPlayVideo bundles nothing.

Open your browser's Developer Tools (F12) and inspect the Network tab. After the initial HTML, CSS, and JS files load to render the page, network activity drops to absolute zero. When you load a video, when you pause, when you add subtitles—no pings are sent anywhere.

2. The Local File API

When you drag and drop a video file onto the player, you are not "uploading" it. You are granting the browser permission to read that specific file locally from your hard drive.

We use URL.createObjectURL(). This creates a temporary, in-memory reference to the file that the <video> element can read. This reference is strictly bound to the document where it was created and is destroyed the moment you close the tab.

// The exact mechanism we use:

const file = event.dataTransfer.files[0];
const localUrl = URL.createObjectURL(file);
videoElement.src = localUrl;

3. The Airplane Mode Test

Don't trust us? Prove it to yourself. Because uPlayVideo registers a Service Worker on your first visit, the UI is cached offline.

  1. Load the player page while connected to the internet.
  2. Turn off your Wi-Fi or unplug your ethernet cable.
  3. Refresh the page (it will still load).
  4. Drag a movie into the player and watch it flawlessly.