SOURCE_URL: https://majikah.solutions/products/majik-message/docs/cloud-storage --- title: "Cloud Storage & File Sharing" id: "cloud-storage" group: "majik-message" type: "products" version: "1.1.0" lastUpdated: "2026-03-11T00:00:00.000Z" difficulty: "Beginner" time: "5-10 minutes" tags: [cloud, storage, upload, files, sharing, file-vault, my-files, quota, permanent, temporary, publish, mjkb, post-quantum, ml-kem, yara, magika, file-scanning, threat-detection, compression, zstd] --- # Cloud Storage & File Sharing > Learn how to upload, scan, manage, and share your encrypted files in the Majik Message cloud storage panel. ## Overview My Files is the cloud storage layer of Majik Message's File Vault. Every file you upload is automatically scanned for threats using an embedded YARA engine and Google's Magika content-type detector — entirely in your browser before any bytes leave your device. Files that pass the scan are encrypted into .mjkb binaries and uploaded to Majikah's encrypted cloud storage, where you can manage permanent and temporary files, share them via public URLs, and access them from any device. Only authorized recipients can ever decrypt a file, even when it's hosted on the web. ### What is My Files? My Files is the cloud-backed storage panel inside the File Vault. While the File Vault's main interface handles local, offline encryption and decryption, My Files lets you upload your .mjkb binaries to Majikah's encrypted cloud storage so they're accessible from any device. Before any file is encrypted or uploaded, it is automatically scanned in your browser using YARA pattern matching and Google's Magika content-type detector. Files that fail the scan are blocked from uploading. Every file stored here is a post-quantum encrypted .mjkb binary — Majikah's servers never see your plaintext. You can manage your storage quota, choose a compression preset, organize files, control expiry, publish files for web access, and delete files, all from one panel. > **NOTE:** Access My Files from the File Vault tab (6th tab in the top navigation), then click the My Files button in the upper-right corner of the page. ### Authenticated Account Required > ⚠️ **WARNING:** My Files requires a logged-in Majikah account. Local offline encryption in the File Vault works without authentication, but uploading, managing, and sharing files in the cloud requires you to be signed in. ### Automatic Pre-Upload Threat Scanning Every file added to the upload queue is automatically scanned before it can be encrypted or uploaded. Scanning runs locally in your browser using two complementary engines: YARA (a pattern-matching engine used by security professionals worldwide, running via libyara-wasm) and Google's Magika (a deep-learning content-type detector). Scanning happens entirely on your device — no bytes are sent anywhere during this phase. While a file is being scanned, its row in the pending queue shows a pulsing Scanning… badge. The Confirm upload button remains disabled until the scan completes and passes. ### Scan Gate — What Gets Blocked Each scan produces a score from 0 to 100 (starting at 100, with points deducted per matched YARA rule). Files must score 70 or above to proceed to encryption and upload. Files scoring below 70, or that match a flagged or danger-tier rule, are blocked. A red Threat detected or amber Score too low badge appears on the pending row, and a Scan Blocked Notice explains the reason. Blocked files cannot be confirmed for upload — remove and replace them with a safe version to continue. ### Scan Outcome Reference | Scan Phase | Badge | Upload Blocked? | What to Do | | --- | --- | --- | --- | | Scanning… | Pulsing amber Scanning… | Yes — Confirm disabled | Wait for scan to complete | | Clean (score ≥ 70) | Green Scan clean + score pill | No — proceeds to encryption | Choose preset and confirm | | Flagged (score < 70) | Red Threat detected | Yes — hard block | Remove the file | | Score too low (< 70, not flagged) | Amber Score too low | Yes — blocked | Remove the file | | Scan error | Amber Scan failed | Yes — blocked | Remove and re-add the file | *Caption: How scan results affect upload queue behaviour* > **NOTE:** Scanning is 100% local. The YARA engine and Magika model both run in your browser as WASM/JavaScript modules. No file bytes, scan results, or filenames are transmitted during the scanning phase. ### Storage Quota Every Majikah account includes 500 MB of free permanent cloud storage. This quota applies exclusively to permanent files — files you intend to keep indefinitely. Temporary files do not count against your 500 MB quota, regardless of how many you upload, as long as each file is under 100 MB and within its allowed duration. The Storage Quota card at the top of the My Files panel shows your current usage, the percentage used, and how much storage is still available, updated in real time as you upload or delete files. ### Permanent vs. Temporary Storage Permanent files are stored indefinitely and count toward your 500 MB quota. Use these for files you want to keep long-term — important documents, shared assets, encrypted backups. Temporary files have a time-to-live (TTL) and are automatically deleted when they expire. They do not count against your permanent quota, making them ideal for short-lived shares or ephemeral transfers. When uploading, you choose the storage type and — if temporary — the TTL duration before confirming. ### Temporary File TTL Options | Duration | Use Case | | --- | --- | | 1 day | Same-day transfer or one-time share | | 2 days | Short handoff window | | 3 days | Weekend-spanning share | | 5 days | Work-week share | | 7 days | One-week availability | | 15 days | Default — two-week availability (maximum) | *Caption: Available durations for temporary files* ### Upload Limits Each individual file uploaded to cloud storage must be 100 MB or less. This limit applies to both permanent and temporary files. Encrypted .mjkb files produced by Majik Message cannot be re-uploaded — if you drop a .mjkb onto the upload queue it will be rejected with an error. Permanent files count toward your 500 MB quota, so uploading large permanent files will consume your available storage faster. ### Compression Preset Per File After a file passes its YARA scan, a Compression pill selector appears on its pending row. You can choose a Zstd compression preset for each file individually before confirming the upload. The default is Good (lv 9), which gives strong compression for most file types without excessive CPU time. Choosing a different preset triggers an automatic re-encryption of the pending file with the new level — you'll see a re-encrypting… badge on the recipients selector while this runs. A ⚡ Clamp Notice appears if your chosen preset will be automatically reduced for the file's size to prevent WASM out-of-memory errors. ### Compression Preset Reference | Preset | Zstd Level | Best For | | --- | --- | --- | | Fastest | 2 | Speed-first — large files where CPU time matters | | Fast | 3 | Zstd default fast mode | | Balanced | 6 | Best ratio-per-ms | | Good | 9 | Default — recommended for most uploads | | Better | 15 | Documents and code | | Best | 19 | Near-maximum, WASM-safe | | Ultra | 22 | Archival — auto-clamped on large files | *Caption: Available Zstd presets per pending file in the upload queue* ### Upload a File 1. **Open My Files** *Access the cloud storage panel* - Go to the File Vault tab (6th tab in the top navigation) - Click the My Files button in the upper-right corner - The My Files panel opens as a sliding dialogue 2. **Add Files to the Queue** *Drop or browse for files to upload* - Drag and drop one or more files onto the drop zone at the top of the panel - Or click the drop zone or the Upload button in the toolbar to browse your directory - Multiple files can be added at once — each gets its own entry in the pending queue - Encrypted .mjkb files are automatically rejected — a toast error will appear if you try to drop one 3. **Wait for the YARA Scan** *Scanning starts automatically — no action needed* - Each pending file immediately begins scanning in the background using YARA and Magika - A pulsing Scanning… badge appears on the file row while the scan runs - The Confirm button stays disabled until the scan completes - If the scan finds a threat or the score falls below 70, the row turns red and a Scan Blocked Notice explains why — remove the file to proceed - If the scan passes, a green Scan clean badge and score pill appear on the row 4. **Choose Compression Preset (Optional)** *Select how aggressively to compress this file* - After the scan passes, a Compression pill selector appears on the file's row - The default preset is Good (lv 9) — suitable for most files - Changing the preset triggers a re-encryption of the file; the Confirm button re-disables until re-encryption completes - If a clamp warning appears, the file is large enough that the chosen level will be automatically reduced 5. **Set Recipients** *Choose who can decrypt this file* - After the scan passes, an inline recipient selector appears below the compression section - By default it is seeded with your current active account — meaning only you can decrypt it - Add contacts from your directory to allow them to decrypt the file as well - Changing recipients triggers an automatic re-encryption — you'll see a re-encrypting… badge while this completes 6. **Choose Storage Type & TTL** *Decide how long the file should persist* - Each pending file has a Perm / Temp toggle — select Perm for permanent storage or Temp for auto-expiring storage - If you select Temp, a TTL duration picker slides in — choose from 1, 2, 3, 5, 7, or 15 days - Permanent files count toward your 500 MB quota; temporary files do not 7. **Confirm Upload** *Finalize and send the encrypted file to the cloud* - The Confirm button turns green once: scan has passed, encryption is complete, and no re-encryption is in progress - Click Confirm to upload the encrypted .mjkb binary to Majikah cloud storage - An Uploading… badge shows while the transfer is in progress - Once complete, the file disappears from the pending queue and appears in your file list below - Your storage quota updates automatically > **NOTE:** Files are scanned, compressed, and encrypted on your device before they leave your browser. Majikah's servers only ever receive the sealed .mjkb binary — your plaintext, private keys, and scan results never leave your device. ### Browsing & Organizing Your Files The file list supports multiple ways to find and organize your files. Use the tab bar to filter by All, Permanent, Temporary, Shared, or Attachments. Use the search bar for fuzzy search across filename, MIME type, and context. Use the sort control to cycle between sorting by Date (newest first), Name (alphabetical), or Size (largest first). Toggle between list view and grid view using the view switcher in the toolbar. Files are paginated at 10 per page — use the pagination controls at the bottom to navigate. ### Filter Tabs | Tab | Shows | | --- | --- | | All | Every file associated with your account | | Permanent | Files with permanent storage (count toward 500 MB quota) | | Temporary | Files with a TTL that will auto-delete on expiry | | Shared | Files currently published for web access | | Attachments | Files attached to thread messages (see Thread documentation) | *Caption: What each tab shows in the My Files panel* ### File Actions 1. **Download a File** *Retrieve the encrypted .mjkb binary* - Hover over a file row (or open a grid card) to reveal the action buttons - Click the Download icon (arrow down) to download the .mjkb binary to your device - The downloaded file is the encrypted binary — take it to the File Vault's Decrypt mode to recover the original file - You must have an authorized account imported to decrypt it 2. **Publish a File** *Make it accessible via a public web URL* - Click the Globe icon on any file to toggle web publishing - When published, a unique share token is generated and the file becomes reachable at a public URL: https://majikah.solutions/share/files/[token] - Published does not mean decryptable by anyone — the file is still a sealed .mjkb binary. Only the authorized recipients specified at encryption time can decrypt it - Publishing makes the encrypted binary downloadable from the web — the lock itself does not change - When already published, the Globe icon turns green — click it again to unpublish and revoke web access immediately 3. **Copy Share Link** *Copy the public URL to your clipboard* - Click the Copy icon on any file to copy its share URL - If the file is not yet published, you will be prompted to publish it first using the Globe icon - Share the copied URL with anyone — they can download the .mjkb binary, but they will need an authorized Majik Message account to decrypt its contents 4. **Delete a File** *Permanently remove a file from cloud storage* - Click the Trash icon on any file to delete it - Deletion is immediate and irreversible — the .mjkb binary is removed from Majikah's R2 storage - Your quota is updated automatically after deletion - You can also select multiple files using checkboxes and use the Delete button in the multi-select action bar at the bottom ### Deleting Thread Attachments > ⚠️ **WARNING:** If you delete a file under the Attachments tab, that file was originally attached to a thread message. Deleting it removes it from cloud storage permanently — all thread participants will lose the ability to download that attachment. The message record in the thread log will still exist, but the file itself will no longer be retrievable. Proceed with caution when deleting thread attachments. ### Bulk Actions You can select multiple files by clicking their rows or grid cards. A multi-select action bar appears at the bottom of the panel when one or more files are selected, showing the count of selected items and offering bulk Download, Copy Link, Publish, and Delete actions. Bulk Publish will publish all selected files at once — each will get its own unique share token. ### What "Published" Really Means Publishing a file does not make its contents public — it makes the encrypted binary publicly downloadable via a URL. The file is still a sealed .mjkb envelope protected by ML-KEM-768 + AES-256-GCM. Anyone who downloads the binary from the share URL will get a file they cannot read without the correct Majik Message account. Only the recipient(s) specified at encryption time hold the ML-KEM key slots required to open it. Think of publishing as making the locked box accessible on the web — the lock itself does not change. ### Quick Reference | Task | How | Notes | | --- | --- | --- | | Open My Files | File Vault tab → My Files button (upper right) | Requires authenticated account | | Upload a file | Drop onto drop zone or click Upload button | Max 100 MB per file; .mjkb files rejected | | YARA scan | Runs automatically on each pending file | Score must be ≥ 70 to proceed; 100% local | | Set compression preset | Compression pill selector on each pending file row (appears after scan passes) | Default: Good (lv 9); changing preset triggers re-encryption | | Set recipients on upload | Inline recipient picker on each pending file row (appears after scan passes) | Changing recipients triggers re-encryption | | Set storage type | Perm / Temp toggle on each pending file row | Temp files do not count toward 500 MB quota | | Set TTL for temp files | Duration chips (1d / 2d / 3d / 5d / 7d / 15d) | Only visible when Temp is selected | | Confirm upload | Green Confirm button per pending file | Active only when scan passed and encryption is complete | | Filter files | Tab bar: All / Permanent / Temporary / Shared / Attachments | Attachments tab shows thread-linked files | | Search files | Search bar (fuzzy search by name, type, context) | Results sorted by relevance score | | Sort files | Sort button cycles Date → Name → Size | Date = newest first; Size = largest first | | Toggle view | List / Grid icons in the toolbar | Grid view shows thumbnail-style cards | | Download a file | Hover row → Download icon | Downloads the encrypted .mjkb binary | | Publish to web | Hover row → Globe icon | Makes binary downloadable via URL; decryption still requires account | | Copy share link | Hover row → Copy icon | Must be published first | | Unpublish | Hover row → Globe icon (when already green/published) | Immediately revokes web access | | Delete a file | Hover row → Trash icon | Irreversible; thread attachments affect participant access | | Bulk actions | Click rows to select → action bar at bottom | Download, Copy Link, Publish, Delete | *Caption: Common My Files tasks and how to perform them* > **NOTE:** Majikah's cloud storage only ever holds your encrypted .mjkb binaries. No server-side decryption is possible — your private keys, plaintext, and scan results exist only on your device. Storage quota tracking, file metadata, and share tokens are the only data stored server-side alongside the binary.