fle
Field-Level Encryption (FLE) in Couchbase — client-side encryption of specific document fields before writing to the server, supported SDKs, key management
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Field-Level Encryption (FLE) in Couchbase — client-side encryption of specific document fields before writing to the server, supported SDKs, key management
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Couchbase SDK error handling — UnambiguousTimeoutException vs AmbiguousTimeoutException, DocumentNotFoundException, CasMismatchException, DurabilityImpossibleException, SDK debug logging, sdk-doctor connectivity diagnostics, retryable vs non-retryable errors, circuit breaker, error best practices
Couchbase SDK patterns for Rust — CAS optimistic locking, retry on CasMismatch, tokio bulk operations with join_all/FuturesUnordered, atomic counters, sub-document (MutateInSpec/LookupInSpec), array operations, exists, replica reads, touch/getAndTouch, preserve_expiry, error handling
Configure and optimize Couchbase SDK connections in Rust — async/tokio cluster setup, singleton pattern, wait_until_ready, timeouts, KV CRUD (upsert/insert/get/replace/remove), expiry, durability, sub-document operations
SQL++ queries with the Couchbase Rust SDK — scope.query, cluster.query, positional and named parameters, scan consistency, deserializing rows into structs, DML (INSERT/UPDATE/DELETE/UPSERT), MutationState RYOW
Testing Couchbase Rust applications — unit testing with mockall, integration testing with testcontainers-rs, scope/collection isolation
Distributed ACID transactions are not supported by the Couchbase Rust SDK 1.x — alternatives and workarounds
| name | fle |
| summary | Field-Level Encryption (FLE) in Couchbase — client-side encryption of specific document fields before writing to the server, supported SDKs, key management |
| description | Field-Level Encryption (FLE) in Couchbase — client-side encryption of specific document fields before writing to the server, supported SDKs, key management |
| metadata | {"last_verified":"2026-05","min_server_version":"6.0","handoff":[{"condition":"user asks about FLE in Python","type":"variant","skill":"fle-python"},{"condition":"user asks about server-side encryption at rest or TLS","skill":"security"}]} |
FLE encrypts specific document fields on the client before the data reaches Couchbase Server. The server stores ciphertext — it never sees plaintext for encrypted fields. Decryption happens on the client when reading.
FLE is not a substitute for TLS (in-transit encryption) or server-side encryption at rest — use all three for defence in depth.
CryptoManager with a KeyProvider that holds your encryption keys.CryptoManager with the cluster at connection time.upsert, the SDK encrypts annotated fields and stores them as {"alg":"...", "ciphertext":"..."} objects.get, the SDK decrypts annotated fields transparently.| SDK | Supported |
|---|---|
| Python | ✅ |
| Java | ✅ |
| Go | ✅ |
| .NET | ✅ |
| Node.js | ✅ |
| PHP | ✅ |
| Rust 1.0 | ❌ |
| Scala | ❌ |
| Ruby 3.x | ❌ |
For unsupported SDKs, use server-side encryption at rest (available in Couchbase Server 8.x) or encrypt fields in application code before passing to the SDK.
Keys are managed by your application via a KeyProvider. In production:
| Language | Skill |
|---|---|
| Python | fle-python |
| Java | fle-java |
| Go | fle-go |
| .NET | fle-dotnet |
| Node.js | fle-nodejs |
| PHP | fle-php |
| Rust | fle-rust |
| Scala | fle-scala |
| Ruby | fle-ruby |