#What is the recommended way to do encryption?

6 messages · Page 1 of 1 (latest)

hollow sluice
#

I’m trying to encrypt API keys into a document but I’m running into some issues. I wanted to use node:crypto but I need the node environment for that but that environment doesn’t allow mutations. So I tried using the web crypto module but that is not fully implemented so I can’t get that working either.

My other options are third-party libraries but crypto-js is deprecated and the alternatives seem unreliable

I need to decrypt the value again later, so I can’t encrypt on the client either.

I tried using an action but:

  • feels clunky because I can’t access the DB directly
  • typescript breaks when I return a value from the action

What do I do?

vital fossilBOT
#

Thanks for posting in #1088161997662724167.
Reminder: If you have a Convex Pro account, use the Convex Dashboard to file support tickets.

    - Provide context: What are you trying to achieve, what is the end-user interaction, what are you seeing? (full error message, command output, etc.)
    - Use [search.convex.dev](https://search.convex.dev) to search Docs, Stack, and Discord all at once.
    - Additionally, you can post your questions in the Convex Community's #1228095053885476985 channel to receive a response from AI.
    - Avoid tagging staff unless specifically instructed.

    Thank you!
lean turret
#

Out of curiosity, what features of web crypto are you using that aren't supported? (i know there are unsupported features, but knowing which ones are needed helps prioritize)

#

The convex-auth library uses web crypto in convex queries -- using the "jose" library -- so it's possible if you stick to the most common encryption methods

hollow sluice
#

I tried using Crypto.subtle but that wasn’t supported

#

I’ll look into jose, thanks