If you implement semantic search, be mindful what data you're making searchable:
- By definition, the embeddings can never be encrypted. Encrypted data can't be indexed for vector search.
- Data _can_ be inferred with pretty high accuracy from the embeddings themselves using what's called "vector inversion".
- Which means anyone with access to the embeddings can infer the data, even if the source itself data is encrypted.
You can harden how you store embeddings, but you can never encrypt them and they will _always_ be invertible. So don't implement semantic search on sensitive data you'd normally encrypt. It would defeat the purpose.