Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-6506

Add support for creating encrypted schemas

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • None
    • Affects Version/s: None
    • Component/s: None
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      Use Case

      As a... mongoose user
      I want... I want to be able to specify which fields I want encrypted and how
      So that... I can use field-level encryption in an idiomatic way 

      Acceptance Criteria

      Implementation Requirements

      • On construction, the Schema constructor 
        • parses the input from the user and extracts any encrypted fields into a separate field, encryptedFields.  see the schema section of the design for details.
        • Determines the encryption type (queryable encryption or CSFLE).  
        • see the schema section of the design for details.
      • Schema mutation methods will be updated to update the encrypted fields map if new encrypted fields are added / removed.  This applies to:
        • add()
        • remove()
      • Validation
      • Typescript support
      • Merge to mongodb mongoose fork for now

      Testing Requirements

      • Test that data is stored correctly
      • Throw on incorrect configruation

      Documentation Requirements

      • API docs

      Follow Up Requirements

      • Mongoose Docs update to include CSFLE/QE

            Assignee:
            Unassigned Unassigned
            Reporter:
            bailey.pearson@mongodb.com Bailey Pearson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: