Skip to content

Commit 30bfba6

Browse files
authored
app/(docs)/dcs/api/s3/s3-compatibility: add storj-vs-self-managed-encryption-s3-compatibility-differences (#617)
1 parent 6032365 commit 30bfba6

File tree

1 file changed

+31
-0
lines changed
  • app/(docs)/dcs/api/s3/s3-compatibility/storj-vs-self-managed-encryption-s3-compatibility-differences

1 file changed

+31
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
title: Storj Managed vs. Self-Managed Encryption S3 Compatibility Differences
3+
docId: oozaauQueuq9hgeac4Ze
4+
weight: 1
5+
---
6+
7+
## Listing Endpoints Behavior
8+
9+
The behavior of listing endpoints depends on the encryption model configured for your project.
10+
11+
| Encryption Type | S3 Compatibility |
12+
| :--- | :--- |
13+
| **Self-Managed Encryption** | **Limited** (Restricted sorting/filtering) |
14+
| **Storj Managed Encryption** | **Full** (Fully S3-compatible) |
15+
16+
### Self-Managed Encryption
17+
When using **Self-Managed Encryption**, object keys are end-to-end encrypted. This prevents the listing endpoint from deciphering the keys, which affects sorting and filtering.
18+
19+
* **Standard Listing:** For requests using a forward-slash (`/`) as a prefix terminator or delimiter, results are returned in the lexicographical order of the *encrypted* object keys. This often differs from the expected alphabetical order of the decrypted keys. Clients should not rely on ordering in these cases.
20+
* **Exhaustive Listing:** For requests using non-standard prefixes or delimiters (not ending in `/`), the endpoint performs an "exhaustive listing." This filters object keys server-side to return results in the correct (decrypted) lexicographical order.
21+
22+
**Limitations:**
23+
1. **New Projects:** Projects created after **November 30, 2025**, cannot use exhaustive listing. Requests triggering this behavior will fail with a `501 Not Implemented` error.
24+
2. **Large Buckets:** Exhaustive listing does not work for buckets containing hundreds of thousands of objects.
25+
26+
Users requiring these features should use Storj Managed Encryption.
27+
28+
### Storj Managed Encryption
29+
If your project uses **Storj Managed Encryption**, object keys are **encrypted using server-managed keys**. This allows the system to process object keys directly, ensuring that Storj's S3 listing endpoints are **fully S3-compatible**.
30+
31+
Requests can use arbitrary prefixes and/or delimiters. These requests utilize an optimized execution path, offering superior performance compared to Self-Managed Encryption. Storj recommends Storj Managed Encryption for all new projects requiring high performance and strict S3 compatibility.

0 commit comments

Comments
 (0)