PrivateCloud API
Complete API Documentation
v1.0.0
Triple Encryption
No API Keys
Security Features
Triple-layer encryption and security measures
Layer 1: Content
AES-256-CBC file encryption
Layer 2: Metadata
Hash-encrypted metadata
Layer 3: Verification
SHA-256 integrity checking
POST /api/upload
Upload files with triple encryption
Parameters
file: File (required, max 50MB)
password: String (optional, for client-side encryption)
folder: String (optional, for organizing files)
Response
{ "success": true, "fileId": "64-char-primary-hash", "downloadUrl": "/api/file/hash", "filename": "example.pdf", "size": 1234567, "encryptedMetadata": "encrypted-data", "isPasswordProtected": true, "folder": "documents/work", "secondaryHash": "32-char-hash", "tertiaryHash": "sha256-hash" }
cURL Example
curl -X POST https://your-domain.com/api/upload -F "file=@example.pdf" -F "folder=documents/work"
GET /api/file/{fileId}
Download files using triple-encrypted access
URL Parameters
fileId: 64-character primary hash
metadata: Encrypted metadata string
password: Optional, for password-protected files
cURL Example
curl "https://your-domain.com/api/file/abc123...?metadata=encrypted"
Password Protection
For password-protected files, the decryption happens client-side using the Web Crypto API. The server never receives the password.
// JavaScript example for downloading password-protected files const response = await fetch(`/api/file/${fileId}?metadata=${metadata}`); const encryptedData = await response.arrayBuffer(); const decryptedData = await decryptFile(encryptedData, password); // Use decryptedData...
Folder Management
Organize files in virtual folders
Creating Folders
Folders are virtual and created automatically when uploading files with a folder path.
POST /api/upload -F "file=@example.pdf" -F "folder=documents/work"
Moving Files
POST /api/move -d 'newFolder": "documents/archive'
Listing Folders
GET /api/folders
GET /api/docs
Get complete API documentation in JSON format
Encryption Implementation
Technical details of the encryption system
Primary Hash (64 chars)
Used as file ID and metadata encryption key
Password Protection
AES-GCM encryption with PBKDF2 key derivation (100,000 iterations)
Client-Side Encryption
Files are encrypted in the browser before upload using the Web Crypto API
File Content Encryption
AES-256-CBC with random 32-byte key and 16-byte IV
Made by test1234projects.github.io