Architecture

Security Protocol

The most secure way to handle sensitive data is to never possess it. uViewDoc operates on a strict zero-trust model where your device acts as the sole compute node.

01. Network Isolation

Traditional web applications rely on a client-server model: you submit a file, the server processes it, and returns a response. This necessitates transferring your data over the wire (even if TLS encrypted) and storing it in a temporary `/tmp` directory on third-party infrastructure.

uViewDoc utilizes the HTML5 File API to break this model. When you drag a file into the interface, the browser passes a local file pointer to our JavaScript bundle. The network stack is never invoked.

// Verification via DevTools Console
window.addEventListener('fetch', (e) => {
  console.warn('Outbound request intercepted:', e.request.url);
});

02. Memory Lifecycle

Because processing happens client-side, memory management is critical. We do not use localStorage or IndexedDB to cache document contents.

The file resides in RAM only as long as the browser tab is open. A hard refresh (`Ctrl+R` / `Cmd+R`) instantly obliterates the active ArrayBuffer and triggers V8's garbage collection. If you close the tab, the document ceases to exist contextually.

03. Zero Telemetry Policy

We do not integrate Google Analytics, Mixpanel, or any client-side product analytics trackers. We do not know how many pages you read, what file formats you prefer, or how long you spend on the site.

Our only metric is aggregate, anonymized server logs provided by our CDN (Cloudflare/Netlify) to monitor bandwidth usage for the static HTML/JS assets.

04. Independent Audit

Trust is good; verification is better. The core parsing libraries we rely on (pdf.js, mammoth.js, epub.js) are strictly open-source and undergo continuous peer review.

We encourage security researchers to audit the compiled assets delivered to this domain. We pin dependency versions and avoid rapid, untested updates to minimize supply chain attack vectors.