Hoq Storage
One drive for every Hoq app, on our storage or your own bucket.
What it does
Hoq Storage is the drive behind every Hoq app. Documents, sheets, slides, boards and attachments land here as ordinary files you can open, move, share and download.
It works like a desktop file manager in the browser. Press Space to preview, use the arrow keys to walk a folder, and press ⌘K to jump to any file by name. Deleted files go to a trash you can restore from for 30 days, and replacing a file keeps the old copy as a version.
You can keep files on our storage or connect your own S3-compatible bucket. Connect it as it is and browse it, or let Hoq Storage manage it so trash, versions, sharing and retention work on storage you own. A managed bucket carries a manifest file that maps every path to its object, so you can read it back with only your bucket keys.
Apps never get your whole drive by default. When an app asks for a file, you pick it, and that pick is the permission.
In numbers
Specifications
| Trash | Deleted files stay in the trash for 30 days, then are removed for good. You can restore or empty it any time. |
|---|---|
| Version history | Replacing a file keeps the old copy. Up to 10 earlier versions per file, older versions cleared after 90 days. |
| Large uploads | Files over 8 MB upload in 4 MB chunks. A dropped connection resumes from where the server left off. |
| Share links | Public /s/ links with an optional password and expiry, revocable any time. Moving the file to trash stops the link. |
| Upload request links | A /d/ link lets someone without an account drop files into a folder you choose. They cannot see what is already there. |
| Your own bucket | Amazon S3, Cloudflare R2, Wasabi, Backblaze B2, MinIO or any S3-compatible service. Bucket keys are sealed with AES-256-GCM. |
| Leaving a managed bucket | Each managed bucket holds _manifest/latest.json mapping every path to its object and version chain, refreshed daily. |
| Retention | Keep-until dates and legal holds per file, or a keep-for-N-days policy per space, up to 3,650 days. Dates can only be extended. |
| Zip files | Open a zip and browse its contents without downloading it. Compress a selection or extract a zip on the server. |
| App access | Apps ask for one of four scopes: whole drive read, whole drive write, their own folder, or only files you pick. |
| Change events | Webhooks for created, updated, moved, renamed, trashed, restored and deleted files, signed with a Hoq-Signature header. |
Features
24 features, all shipped. Listed from the product's code and documentation; each row shows the day it was last checked.
| List and grid views | Folders with breadcrumbs, and a grid view with server-made WebP thumbnails. | |
| Quick look | Space previews images, video, audio, PDF and text, and the arrow keys walk the folder. | |
| Go to anything | ⌘K opens a palette that finds any file or command by name. | |
| Stars and recents | Star files and folders and see them on every device you sign in on. | |
| Tags and notes | Colour tags with sidebar filters, and a note on each file that saves as you type. | |
| Documents shown as one file | A board or other Hoq document stored as a folder shows as one row with its title and preview. | |
| Light and dark | Light, dark, or follow your system setting. |
| Resumable uploads | Drop files or whole folders, or paste; large files go up in chunks and resume after a drop. | |
| Name conflicts | Choose Replace, Keep both or Skip when an upload matches an existing name. | |
| Batch rename | Rename many files at once with a before and after table. | |
| Move by drag | Drag files onto a folder in the sidebar or the breadcrumb. | |
| Zip in place | Compress a selection, browse a zip without downloading it, or extract it on the server. |
| Trash and undo | Deletes go to a 30-day trash, and ⌘Z undoes the last move, rename or delete. | |
| Version history | List, download or restore the copies a replace displaced. | |
| Retention and holds | Set a keep-until date or a hold on a file; Hoq will not delete it before then. |
| Share links | Public links with optional password and expiry; video and large files stream by byte range. | |
| Upload requests | A link that lets anyone drop files into one of your folders. | |
| File picker for apps | Other apps open a picker; the files you choose are the only ones they can reach. | |
| Organisation drives | An organisation has its own drive, and leaving the organisation ends access on the next request. |
| Connect a bucket as it is | Browse your own S3-compatible bucket in its own layout. | |
| Managed bucket | Your bucket in our layout, so trash, versions, sharing and retention work on storage you own. | |
| Portability manifest | A daily JSON map of every path, object and version, so the bucket reads back without Hoq. |
| Files API | REST endpoints to list, upload, move, trash, restore, star and share, with a scoped Bearer token. | |
| Webhooks | Signed events when files change, sent only for files the app was given. |
Works with
- Hoq DocumentsDocuments save into your drive, and every save is a version.
- Hoq SheetsSpreadsheets save into your drive, and every save is a version.
- Hoq SlidesPresentations save into your drive, and every save is a version.
- Hoq BoardA board is stored as one document in your drive with its preview image.
- Hoq VaultA vault is a space in your drive sealed under a key the server does not keep.
- Hoq IntakeScanned and emailed documents are filed into folders in your drive by your rules.
Your data
| Where it is kept | On our own S3-compatible storage, or in your own bucket if you connect one. File records and tags sit in our database. |
|---|---|
| Getting it out | Download any file or folder, or a zip of a selection. A managed bucket holds a JSON manifest of every path and version, readable with your bucket keys alone. |
| If you leave | Files in your own bucket stay there. Files on our storage are deleted with the account, except anything under a keep-until date or hold you set. |
APIs and standards
- REST API: /api/files with a Bearer token (scopes files:read, files:write, files:app, files:granted)
- Public share links /s/{token} with HTTP Range, upload request links /d/{token}
- Webhooks: file.created, file.updated, file.moved, file.renamed, file.trashed, file.restored, file.deleted
- JavaScript file picker: HoqFiles.pick({ client, accept, dest })
- Standard: Amazon S3 API
- Standard: OAuth 2.0 with PKCE
- Standard: ZIP / ZIP64
- Standard: HTTP Range requests
Compared
| Checked 2026-11-01 | Hoq Storage | Google Drive (Workspace Business Starter) | Dropbox Standard |
|---|---|---|---|
| Price per user per month | No public price yet | $7.00 (monthly billing)1 | $152 |
| Storage included | Not published | 30 GB pooled per user1 | Starts at 3 TB for the team2 |
| Largest single file | Not published | Up to 5 TB3 | Transfers up to 100 GB2 |
| Trash | 30 days | 30 days4 | not published2 |
| Version history | 10 earlier versions, kept up to 90 days | 100 newer versions or 30 days, unless marked Keep forever5 | 180-day history2 |
| Password and expiry on share links | Yes | not published1 | Yes2 |
| Upload request links | Yes | not published1 | Yes (incoming transfer requests)2 |
| Keep files in your own S3 bucket | Yes, as-is or managed | not published1 | not published2 |