@@ -37,9 +37,10 @@ Future<void> main() async {
3737 accessToken: 'your-jwt-token',
3838 );
3939
40+ // FlatNamespace is RECOMMENDED for maximum privacy
4041 final encConfig = EncryptionConfig(
4142 enableMetadataPrivacy: true,
42- obfuscationMode: ObfuscationMode.deterministic ,
43+ obfuscationMode: ObfuscationMode.flatNamespace ,
4344 );
4445
4546 final client = await createEncryptedClient(config, encConfig);
@@ -134,6 +135,39 @@ application/wasm
134135- ` createRotationManager(client) ` - Create key rotation manager
135136- ` rotateBucket(client, bucket, manager) ` - Rotate all keys in bucket
136137
138+ ## Obfuscation Modes
139+
140+ The SDK supports 4 obfuscation modes for metadata privacy:
141+
142+ | Mode | Server Sees | Privacy Level | Use Case |
143+ | ------| -------------| ---------------| ----------|
144+ | ` flatNamespace ` | ` QmX7a8f3e2d1c9b4... ` | ** Highest** | Default, recommended |
145+ | ` deterministic ` | ` e/a7c3f9b2e8d14a6f ` | Medium | Server deduplication |
146+ | ` random ` | ` e/random-uuid-here ` | High | Max privacy, no dedup |
147+ | ` preserveStructure ` | ` /photos/vacation/e_a7c3 ` | Low | Folder organization |
148+
149+ ``` dart
150+ // FlatNamespace (RECOMMENDED) - complete structure hiding
151+ final encConfig = EncryptionConfig(
152+ obfuscationMode: ObfuscationMode.flatNamespace,
153+ );
154+
155+ // Deterministic - same file = same hash (allows deduplication)
156+ final encConfig = EncryptionConfig(
157+ obfuscationMode: ObfuscationMode.deterministic,
158+ );
159+
160+ // Random - new UUID for each upload (maximum privacy)
161+ final encConfig = EncryptionConfig(
162+ obfuscationMode: ObfuscationMode.random,
163+ );
164+
165+ // PreserveStructure - keep folder paths, hash filenames
166+ final encConfig = EncryptionConfig(
167+ obfuscationMode: ObfuscationMode.preserveStructure,
168+ );
169+ ```
170+
137171## Documentation
138172
139173- [ Full API Documentation] ( https://functionland.github.io/fula-api/ )
0 commit comments