Serverless functions for processing encrypted data
Highly secure Evervault-hosted functions that allow you to run logic on encrypted data, without exposing your infrastructure to sensitive information in plaintext.
Run logic on sensitive data securely
When you pass encrypted data to a Function, it is automatically decrypted by the Function’s runtime. You can then process this data by running custom logic written in Node.js or Python.
1const isValid = await ev.run('validateEmail', { encrypted });
2console.log(isValid ? 'Valid Email' : 'Invalid Email')
1// Encrypted payloads are automatically decrypted
2exports.handler = async function({ encrypted }){
3 const regex = new RegExp('[a-z0-9]+@[a-z]+.[a-z]');
4 return regex.test(encrypted.emailAddress);
5};
Get started with the Functions Primitive
Deploy your first Evervault Function and start running logic on encrypted data.
Auth with GitHub
To create a Function, you first need to authenticate with GitHub in the Evervault Dashboard. Alternatively, you can use the Evervault CLI to create a Function from your terminal or CI/CD pipeline.
Import a Repository or Choose a Template
To deploy a Function using your own code, you can import a repository from GitHub. Alternatively, you can choose a Function template. Functions are written in Node.js or Python.
Run the Function
Functions can be invoked using our server-side SDKs, our CLI or using our REST API. Encrypted data in the payload is decrypted before being passed to your Function code.
1// Import and initialize the Evervault SDK
2const Evervault = require('@evervault/sdk');
3const evervault = new Evervault('<APP_ID>', '<API_KEY>');
4
5// When you pass encrypted data to a Function
6// it gets decrypted by the Function’s runtime,
7// allowing you to process the data in plaintext
8const result = await evervault.run("function-id", {
9 data: encryptedData
10});
Flexible, performant and compliant
Functions were built with developers in mind. They're flexible enough to support any use case, with compliance, performance and security built in.
Multi-language Support
Write and deploy Evervault Functions in Node.js or Python.
Effortless Deployments
Automatically deploy Functions when changes are pushed to your GitHub repository, or via your CI/CD pipeline.
Auto-scaling by Default
Functions scale automatically to thousands of requests per second without affecting throughput or latency.
Network Whitelists
Limit which IPs can invoke your Functions, as well as the domains that Functions can make requests to.
Fine-grain Access Control
Use Data Policies to define rules that dictate how and when Functions can access encrypted data.
Fully Compliant
Functions are fully compliant with standards like PCI DSS, HIPAA and GDPR.
Adapt Functions for any security workflow
You're in control of how data gets processed in a Function. Use them to validate, fetch, transform or analyze encrypted data — without ever handling it in plaintext.
Compatible with each Evervault Primitive
Primitives are building blocks for developers. They're fundamental, interoperable products for constructing any data security or compliance workflow.
Read the docs