ProofGuard Docs
Current working state, how uploads/results behave, and where your data lives. If you’re integrating, see API.
How do I upload files? What formats and limits apply?
Use the large drop zone on the homepage. Click anywhere inside it or drag a file. Supported categories:
- Images: PNG, JPG/JPEG, WebP, GIF, BMP, SVG
- PDFs: Single or multi-page
- Text-like: TXT, MD, CSV/TSV, JSON, HTML/CSS/JS/TS, and many common code files
Maximum size: 10 MB. Some file types are blocked for safety (ZIP, EXE, DMG).
What happens after I upload? Same-tab navigation
We analyze the file and then open a standalone results page in the same tab. The page is generated as a secure in-memory document (Blob URL) and includes the standard site header and navigation.
- The results page uses absolute links and a base URL so the header works correctly even on Blob pages.
- If the backend is unreachable, the app performs a lightweight offline analysis to provide a best-effort result.
How are results computed? What do the “breakdown” and “aspects” mean?
The confidence score is built from multiple signals (metadata, text cues, and image forensics). The results page shows:
- Aspects and contributions: Zero‑value rows are hidden. If no aspect contributes, we show “No contributing aspects detected.”
- Rating breakdown: Contributions are sorted by impact and always sum to the final score via an Additional signals residual row. If a breakdown isn’t provided, we show a single Overall row equal to the final score.
- For images, we may consider edge density, Laplacian variance, ELA, color uniqueness, and EXIF presence. For text, we check repetition/TTR and keyword hits.
Where is my data stored? Can I clear history?
Uploads are analyzed by the backend API when available. For convenience, your last 15 uploads (filename, small preview/thumbnail, and analysis result) are saved in your browser only under localStorage.pg_uploads.
- Visit the Uploads page to browse or clear local history.
- “View” opens a same-tab standalone result built from the stored payload.
- Organizations can adapt retention policies by disabling local history and controlling backend storage.
What are the limitations and best practices?
- The score is an estimate, not ground truth. Some benign transformations (exports, heavy compression) may look “AI-like.”
- Very sophisticated generations may evade detection; combine automated results with human judgment.
- Large or encrypted PDFs, rare file types, or unusual encodings might not preview inline.
- Thumbnails are generated client-side for images to speed up history browsing.
What’s on the Uploads page?
- Shows your most recent 15 uploads (newest first) with verdict and final score.
- “View” recreates the standalone results page from local data—no server round-trip needed.
- Aspects in the inline viewer hide zero rows and include the same rating breakdown behavior as the main results page.
How do I integrate with ProofGuard?
Use our HTTP API to submit files programmatically from your app or pipeline.
- See API for endpoints and examples.
- The front-end is built with Vite + React + TypeScript. Results pages are generated as standalone HTML for reliable sharing and navigation.
Troubleshooting
- Upload fails immediately: Ensure the file is under 10 MB and not a blocked type (ZIP/EXE/DMG).
- No preview: Some formats don’t preview in-browser; the analysis still runs.
- No results page: Browser blocked Blob navigation—try again, or check if the backend is reachable. The app will fall back to offline analysis if needed.
- Clear stale state: On Uploads page, click Clear to remove local history. You can also remove
localStorage.pg_uploadsmanually.