Queryable Encryption

Campos cifrados en el cliente que puedes consultar sin que el servidor vea los valores.

TeselaDB implementa la parte del servidor de Queryable Encryption y de Client-Side Field Level Encryption (CSFLE) de MongoDB. Tu driver cifra y descifra los campos en el cliente; el servidor guarda los valores cifrados y responde consultas de igualdad, rango y texto sobre ellos sin ver nunca el valor en claro.

Cómo se usa

Igual que con MongoDB: configuras el driver con autoEncryption, tu proveedor de claves (KMS) y el mapa de campos cifrados. No cambia nada en el servidor.

JavaScript
const client = new MongoClient(uri, {
  autoEncryption: {
    keyVaultNamespace: "encryption.__keyVault",
    kmsProviders: { local: { key: claveMaestraLocal } },
    encryptedFieldsMap: {
      "clinica.pacientes": {
        fields: [{ path: "dni", bsonType: "string", queries: { queryType: "equality" } }],
      },
    },
  },
});

Lo que hace el servidor

Mantiene las colecciones de metadatos de Queryable Encryption, resuelve las consultas sobre las etiquetas cifradas y hace cumplir los esquemas de CSFLE. Los tipos de consulta marcados como obsoletos en MongoDB 9.0 (*Preview) no se implementan.