-
Notifications
You must be signed in to change notification settings - Fork 34
Description
The Disclaimer on security is misleading and will result in a high possibility of a compromised API Key:
"Don't store secrets in code or any other resources bundled with your app. Instead, fetch them from CloudKit or another server and store them in the keychain."
Even if you fetch the key from Cloudkit or any other server it will be exposed in your client and can be hijacked when you make API calls.
The API key should never be in your app!
Your app should never connect to the API servers directly!
This architecture is fundamentally unsafe!
You need a server where the key is safely stored that makes the calls to the replicate API.
You can use Lambda, Google/Firebase Function, Vercel ServerActions to do the job.
Here is a tutorial on how I implement this for the OpenAI API. This scenario is basically the same for every API you want to use.
https://medium.com/@makiex/how-to-safely-use-openai-in-your-app-with-firebase-cloud-functions-10a55ba95d11
This should be documented here somewhere.