Storage

Storage

Storage is Zenifra's object storage. It keeps images, videos, documents, backups and any other file your applications use, with access from the console or from the tools and SDKs you already use. You pay for the space used and for requests, with no minimum plan.

Storage is in beta and, for now, open to invited organizations. If your organization does not have access yet, open Storage in the console, tell us how you plan to use it and click Join the beta. When the organization is in, the owner and whoever asked receive an email.

How it works

  1. Create your Storage. Each organization has one Storage, created from the Storage menu in the console. It is permanent: it cannot be removed, only the buckets inside it.
  2. Create buckets. A bucket groups files, such as photos, documents or backups.
  3. Upload files or connect an application. Use the console to upload and download files, or create an access key and connect your application. See Connect applications.
SettingValue
Endpointhttps://armazem.zenifra.com
Regionbr-sp1
Addressingpath style (https://armazem.zenifra.com/<bucket>/<file>)

Buckets

A bucket name is unique across Storage and follows these rules:

  • 3 to 63 characters;
  • lowercase letters, numbers, dots and hyphens only;
  • starts and ends with a letter or number, with no two dots in a row;
  • cannot look like an IP address;
  • admin is reserved.

Each organization can have up to 10 buckets. See Limits and billing to ask for more.

Delete a bucket

An empty bucket is deleted right away. A bucket with files is only deleted after a confirmation from someone signed in to the console:

  • accounts with two-step verification enter the code from their authenticator app;
  • other accounts receive a 6-digit code by email, valid for 15 minutes.

After the confirmation, the bucket and all its files are deleted in the background. Deleted files cannot be recovered. Access keys and API Keys cannot delete buckets that have files.

Files in the console

When you open a bucket, you browse its folders and can:

  • Upload files to the current folder, up to 20 GB per file, and cancel the upload while it runs;
  • Create folders with New folder, including several at once, such as documents/2026;
  • Delete an empty folder;
  • Download a file straight from Storage;
  • Copy link to a file, valid for 7 days for anyone who has it;
  • See details by clicking the name: path, size, type, upload date, ETag and metadata;
  • Edit the metadata of a file from its details;
  • Delete a file.

Files go straight from your browser to Storage, without passing through other servers.

Folders and names

Folders organize files inside a bucket: documents/2026/contract.pdf is the file contract.pdf inside the folder 2026, which is inside documents. For uploads through the console and Zenifra upload links:

RuleLimit
Each folder nameup to 64 characters
Folder levelsup to 20
File nameup to 255 characters
Not acceptedfolders without a name (//), a leading slash and . or .. names

A folder created in the console keeps showing even when empty. To delete it, delete the files inside it first.

Metadata

Metadata are name and value pairs kept with the file, such as invoice: 123 or source: orders-app. They come back on every read of the file and help identify and organize content. In the console, open the file details and click Edit metadata. Through the API, send metadata with the file as x-amz-meta-<name> headers, which SDKs fill from the Metadata field.

RuleLimit
Namelowercase letters, numbers and hyphens, up to 64 characters, starting and ending with a letter or number
Valuecharacters without accents, no line breaks
Totalup to 30 items and 2 KB per file

Saving new metadata replaces all previous metadata and keeps the content, type and other file information. If the file changes while you edit, the console tells you to open the details again.

Access keys

Applications connect to Storage with an access key (ID and secret):

  • create one key per application, with a name that tells who uses it;
  • the secret is shown only once, when the key is created; keep it in an environment variable;
  • choose the key's buckets (all or up to 10) and access level: Read only (list and download), Read and upload (also upload files) or Full (everything, including deleting; with all buckets, also creating and deleting buckets). Storage itself refuses anything outside the scope;
  • limit the key to the application's networks: up to 20 IPv4 or IPv6 addresses, with or without CIDR. Requests from other networks are refused;
  • revoke the key when it is no longer used.

Each organization can have up to 10 keys. You can only give a key the access you have yourself on the same buckets.

Privacy

Nothing in Storage is public. Buckets and files cannot be made public, and every access needs a valid signature, either from an access key or from an expiring link. To share a file, use Copy link in the console or create a signed link in your application.

Permissions

Storage permissions can be given for the whole Storage or bucket by bucket. To cover every bucket, including those created later, choose All buckets.

PermissionScopeAllows
List, download and view filesbucketsee files and folders, download, see details and copy links
Upload files and edit metadatabucketupload files, create folders and edit metadata
Delete files and foldersbucketdelete files and empty folders
Delete the bucketbucketdelete the bucket and everything in it
managed_service.readStoragesee Storage and read files of every bucket
managed_service.lifecycle.updateStoragecreate buckets and upload, delete and remove in every bucket
managed_service.credentials.rotateStoragecreate, edit and revoke access keys
project.billing.readStoragesee the cost
managed_service.createorganizationcreate Storage

Anyone with a permission on a bucket can see Storage, and the list shows only the buckets the person can act on. The console hides the buttons of actions the person cannot take. owner has full access; assistant, member and API Keys need the permissions. See Organizations.

Policy templates

When creating a policy on the members page, pick a Storage template and the buckets (all or some). The template fills in the permissions, and you can still adjust them before saving.

TemplatePermissions
Storage — readlist, download and view files in the chosen buckets
Storage — upload and readthe above plus uploading files and editing metadata
Storage — manage filesthe above plus deleting files and folders
Storage — administratoreverything in every bucket, creating buckets, managing keys and seeing the cost

FAQ

Can I have more than one Storage?

No. Each organization has one Storage and organizes files in buckets.

Can I rename a bucket?

No. Create another bucket, copy the files and delete the old one.

Does Storage work with applications outside Zenifra?

Yes. Any application with an access key, from an allowed network, connects through the public endpoint.

Next steps

Last updated on

On this page