SG/Send QA
Living documentation and automated test results for SG/Send β the encrypted file sharing platform by SGraph AI.
What is SG/Send?
SG/Send is a secure, encrypted file sharing platform that enables controlled distribution of sensitive documents. Key security features include:
- Beta Access gate β users must present a valid token before accessing any functionality
- Token-based authentication β each sharing session is scoped to a unique access token
- Encrypted file transfers β files are protected in transit and at rest
- Audit trail β all access attempts (including invalid tokens) are logged
What is This Site?
This documentation is automatically generated from Playwright browser tests that run against the live SG/Send platform. Every page documents a real user workflow, captured as screenshots and verified by automated assertions.
flowchart LR
A["Playwright\nBrowser Tests"] -->|capture| B["Screenshots\n(1280x720)"]
B -->|generate| C["Markdown\nDocumentation"]
C -->|build| D["Jekyll\nStatic Site"]
D -->|deploy| E["qa.send.sgraph.ai"]
Each test produces two outputs: a pass/fail result and a set of annotated screenshots that become the documentation you are reading now.
Use Cases
These are the user workflows currently tested and documented:
| Use Case | What It Tests | Screenshots |
|---|---|---|
| Landing Page Loads | SG/Send loads correctly, renders the Beta Access UI | 1 |
| Access Gate Present | The access gate with token input and Go button is visible | 1 |
| Invalid Token Rejected | Invalid tokens are rejected with proper error feedback | 3 |
Architecture
Test Pipeline
The QA pipeline runs on every push. Tests exercise the real SG/Send UI via headless Chromium, capture screenshots, generate documentation, and deploy to this site.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CI Pipeline β
β β
β βββββββββββββ ββββββββββββββββ βββββββββββββββββ β
β β pytest + ββββββΆβ Screenshot ββββββΆβ Markdown β β
β β Playwright β β Capture β β Generator β β
β βββββββββββββ ββββββββββββββββ βββββββββββββββββ β
β β β β β
β βΌ βΌ βΌ β
β βββββββββββββ ββββββββββββββββ βββββββββββββββββ β
β β Pass/Fail β β Visual Diff β β Jekyll Build β β
β β Results β β (noise gate) β β + Deploy β β
β βββββββββββββ ββββββββββββββββ βββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Visual Diff Noise Gate
Screenshots are compared pixel-by-pixel against their previous versions. Changes below a 1% threshold are reverted β this filters out anti-aliasing jitter, sub-pixel rendering differences, and font hinting variations that would otherwise create noise commits.
flowchart TD
A[New Screenshot] --> B{Pixel diff vs HEAD}
B -->|"> 1% changed"| C[KEEP β real UI change]
B -->|"β€ 1% changed"| D[REVERT β rendering noise]
C --> E[Commit to repo]
D --> F[Restore HEAD version]
Content Bundle Structure
Each use case is a self-contained directory with its documentation and screenshots co-located:
sg_send_qa__site/pages/use-cases/
βββ landing_page_loads/
β βββ landing_page_loads.md β documentation page
β βββ screenshots/
β βββ 01_landing.png β captured during test
βββ landing_page_has_access_gate/
β βββ ...md + screenshots/
βββ invalid_token_rejected/
βββ ...md + screenshots/
Test Targets
| Environment | URL | Used For |
|---|---|---|
| Production | send.sgraph.ai | CI smoke tests (default) |
| Local User Lambda | localhost:10062 |
Development testing |
| Local Admin Lambda | localhost:10061 |
Admin panel testing |
Stack
| Layer | Technology |
|---|---|
| Browser automation | Playwright for Python (headless Chromium) |
| Test framework | pytest |
| Web framework | FastAPI (test runner API) |
| Documentation | Jekyll + GitHub Pages |
| Screenshot diff | Pillow (pixel-level comparison) |
| CI/CD | GitHub Actions |