SGraph-AI__App__Send
Project description
SGraph Send
Privacy-first file sharing with zero-knowledge encryption at send.sgraph.ai.
What is this?
SGraph Send is a file sharing service where the server never sees your files. Files are encrypted in your browser using AES-256-GCM before upload. The decryption key never leaves your device and is never sent to the server. The server only stores encrypted ciphertext.
How it works
- Sender selects a file and enters an access token
- Browser generates an AES-256-GCM encryption key and encrypts the file locally
- Encrypted file is uploaded to the server (the server never sees the plaintext)
- Sender shares the download link via one channel and the decryption key via another
- Receiver opens the link, enters the key, and the file is decrypted in their browser
- Transparency panel shows exactly what data was captured and what was not
The server stores only encrypted bytes, anonymised metadata, and one-way IP hashes. No file names, no decryption keys, no plaintext.
Architecture
- Two Lambda functions — public (transfers, health, static UI) and admin (tokens, stats)
- Lambda URL Functions — direct HTTPS endpoints, no API Gateway
- FastAPI + Mangum via OSBot-Fast-API route classes
- Memory-FS storage abstraction — in-memory (tests), local disk (dev), S3 (production)
- Type_Safe schemas from osbot-utils (no Pydantic)
- Web Crypto API — AES-256-GCM encryption/decryption in the browser
- IFD Web Components — vanilla JS frontend, zero framework dependencies
- Three UIs — user workflow, power user tools, admin console
Project structure
sgraph_ai_app_send/ # Application code
lambda__admin/ # Admin Lambda (FastAPI + Mangum)
lambda__user/ # User Lambda (in progress)
sgraph_ai_app_send__ui__admin/ # Admin UI (static assets)
sgraph_ai_app_send__ui__user/ # User UI (static assets)
tests/unit/ # Tests (no mocks, real in-memory stack)
.issues/ # Issues FS (file-based issue tracking)
roles/ # Role-based review documents
architect/ # API contracts, data models, system topology
cartographer/ # System landscape maps
conductor/ # Product owner reviews and decisions
dev/ # Implementation plans and code reviews
devops/ # Infrastructure and deployment reviews
librarian/ # Knowledge base, Issues FS maintenance
qa/ # Test strategy and security reviews
Development
# Install dependencies
poetry install
# Run tests
poetry run pytest tests/unit/ -v
# List issues
poetry run issues-fs list
Stack
| Layer | Technology |
|---|---|
| Runtime | Python 3.12 / arm64 |
| Web framework | FastAPI via OSBot-Fast-API |
| Lambda adapter | Mangum |
| Storage | Memory-FS (pluggable backends) |
| AWS operations | osbot-aws |
| Type system | Type_Safe (osbot-utils) |
| Frontend | Vanilla JS + Web Components (IFD) |
| Encryption | Web Crypto API (AES-256-GCM) |
| Testing | pytest, in-memory stack, no mocks |
Status
v0.1.4 — Admin Lambda infrastructure scaffolded and tested. User Lambda in progress.
License
Apache 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sgraph_ai_app_send-0.2.0.tar.gz.
File metadata
- Download URL: sgraph_ai_app_send-0.2.0.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1bf45108a7b5cdbafcdc5f4e86abda4b2024065d4818f77f0d2f208a6d0d0f8b
|
|
| MD5 |
5317ad378108c0bbd36713b16a55f155
|
|
| BLAKE2b-256 |
7ba93f147e0fa733989feeac1ccbc38b5d48ac3d295196fafc1927d7880dca9d
|
File details
Details for the file sgraph_ai_app_send-0.2.0-py3-none-any.whl.
File metadata
- Download URL: sgraph_ai_app_send-0.2.0-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19de43efb713fecf090362a7fa4fd13ce1a8e4935ff0f5ac248eba0e7ff11e67
|
|
| MD5 |
bcbb52e6d5308e049de46f2a43b555e7
|
|
| BLAKE2b-256 |
cb6d27a58089e5986d0e739e5ed26f03c0dc6f5fe86997ee59c99ca52a56ada0
|