DriveStat

← Back to DriveStat

Verification Evidence

Summary

DriveStat is a static single-page web application. It has no backend server operated by the developer. The OAuth access token and any Drive metadata retrieved from Google APIs exist only in the end user's browser and are never transmitted to any server controlled by the developer. The entire source tree is public on GitHub and the deployed site can be byte-for-byte reproduced from the repository.

Architecture

Data flow at runtime (no developer-operated server is involved at any step):

User's browser
  ├── Loads static HTML/CSS/JS ..........  GitHub Pages CDN (em95.org → github.io)
  ├── Sign-in popup .....................  accounts.google.com
  ├── Drive metadata requests ...........  www.googleapis.com (direct, over TLS)
  ├── Scanned tree cache ................  IndexedDB (in-browser)
  └── Access token + preferences ........  localStorage (in-browser)

There is no server-side component under developer control. GitHub Pages is a static file host; it serves the same HTML/CSS/JS bytes to every visitor and has no ability to receive or process Google user data.

Source code & hosting

The deploy workflow injects the public OAuth Client ID at build time from a GitHub secret. This is the only non-public value in the pipeline, and Client IDs are not secrets per Google's OAuth 2.0 documentation — they are visible in-browser at runtime.

Scope justification

DriveStat requests the single scope https://www.googleapis.com/auth/drive.metadata.readonly.

Where user data lives

All data derived from the Drive API lives in the end user's browser and nowhere else:

No part of this data is transmitted to any developer-controlled server. There is no such server.

Limited Use compliance

DriveStat's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. Specifically:

How to verify this yourself

A reviewer can verify the above claims directly in a few minutes:

  1. Open the deployed site https://drivestat.em95.org/ with DevTools → Network tab open and "Preserve log" enabled.
  2. Sign in with a test Google account and let a scan run.
  3. Observe that the only request destinations are accounts.google.com, apis.google.com, www.googleapis.com, and the static-asset CDN (em95.org / github.io). No request to any developer-controlled server will appear, because no such server exists.
  4. Inspect the source repository at github.com/EMRD95/gdrive-windirstat. The deploy workflow (.github/workflows/deploy.yml) ships only the static files in the repo; there is no server build step.
  5. Open DevTools → Application → Storage. The token and cached scan are visible in localStorage and IndexedDB respectively, both scoped to the drivestat.em95.org origin. Signing out clears both.

CASA applicability

Per Google's restricted-scope verification documentation, a CASA security assessment is required for "apps with ability to access restricted data from or through a third-party server" — i.e. apps that store or transmit restricted-scope data on servers.

DriveStat is not such an app. It has no backend. No server operated by or accessible to the developer ever receives, processes, or stores Google user data. On that basis we believe DriveStat qualifies for the client-side exception and should not require a CASA assessment.

Contact

Verification questions: em95org@gmail.com.