| Perfect Acra-compatible applications | Typical industries |
|---|---|
| Web and mobile apps that store data in a centralised database or object storage |
|
| IoT apps that collect telemetry and process data in the cloud | |
| High-load data processing apps |
| encryption on client-side and/or Acra-side – each data field is encrypted using unique encryption keys. | |
| you select which columns to encrypt to balance good security and performance. | |
| two crypto-envelopes: AcraBlocks and AcraStructs. AcraBlocks are fast symmetric containers, use them by default. AcraStructs are asymmetric containers, use them for client-side encryption. |
|
| search through encrypted data without decryption. Designed for exact queries, based on AES-GCM and blind index. | |
| use full or partial masking to remove or mask sensitive data. | |
| substitute sensitive data with a token and match it to original only when needed. | |
| built-in tools for key generation, export, backup, rotation, etc. | |
| through a built-in SQL firewall. | |
| using poison records (honey tokens) to warn about suspicious behaviour. | |
| available for Acra Enterprise users. | |
| all Acra features packed into a database proxy that parses traffic between an app and a database and applies security functions where appropriate. | |
| API server, that exposes most of Acra’s features as HTTP / gRPC API with traffic protection. | |
| optional client-side service for authentication and transport encryption. | |
| available for Acra Enterprise users. | |
| your infrastructure is secure from the start without additional configuring. | |
under the hood | no risk of selecting the wrong key length or algorithm padding. |
| easy to configure and automate. | |
| via binary packages or Docker images. | |
| requires minimal changes in the application code. | |
| throughout all Acra components; compatible with ELK stack, Datadog, Graylog, Prometheus, Grafana, Jaeger. | |
| rollback utilities to decrypt database into plaintext. | |
| numerous web-based and Docker-based example projects available. | |
| run AcraServer in your DigitalOcean cloud. | |
| we can setup and manage Acra for you. |
| Default crypto-primitive source | OpenSSL |
| Supported crypto-primitive sources ᵉ | BoringSSL, LibreSSL, FIPS-compliant, GOST-compliant, HSM |
| Storage encryption (AcraBlocks) | AES-256-GCM + AES-256-GCM |
| Storage encryption (AcraStructs) | AES-256-GCM + ECDH |
| Transport encryption | TLS v1.2+ or Themis Secure Session |
| KMS integration ᵉ | Amazon KMS, Google Cloud Platform KMS, HashiCorp Vault, Keywhiz, etc |


| Cloud platforms | DigitalOcean, AWS, GCP, Heroku, any |
| RDBMS | MySQL v5.7+, PosgtreSQL v9.4-v11, MariaDB v10.3; Google Cloud SQL, Amazon RDS |
| Object stores | filesystems, KV databases, Amazon S3, Google Cloud DataStore |
| Load balancing | HAProxy, cloud balancers |
| Server-side platforms | Ubuntu, Debian, CentOS, RHEL; Docker |
| Client-side app language | any :) |
Developers and Ops friendly:
* run a single command to deploy the application, database, Acra's components, logs, and dashboards;
* read the code changes and see how little it takes to integrate encryption into the client application;
* learn how Acra works by reading logs, monitoring metrics in Prometheus, checking tracers in Jaeger and watching Grafana dashboards;
* inspect Docker-compose files, architecture schemes, database tables, and much more.
Requirements: Linux or macOS with installed Docker.
| ⚙️ [Run Acra Example Projects](https://github.com/cossacklabs/acra-engineering-demo) ⚙️ |
|---|
## Documentation and tutorials
The most recent versions of the documentation, tutorials, and demos for Acra are available on the official [Cossack Labs Documentation Server](https://docs.cossacklabs.com/acra/).
To gain an initial understanding of Acra, you might want to:
- [What is Acra](https://docs.cossacklabs.com/acra/what-is-acra/) to get an overview of things.
- Acra's [security controls](https://docs.cossacklabs.com/acra/security-controls/) to learn more about encryption, masking, tokenisation, SQL firewall, intrusion detections, etc.
- Typical [dataflows](https://docs.cossacklabs.com/acra/acra-in-depth/data-flow/) that shows which Acra components you need and what are the Pros and Cons of each combination.
- Read the notes on Acra's [architecture](https://docs.cossacklabs.com/acra/acra-in-depth/architecture/) and [security design](https://docs.cossacklabs.com/acra/acra-in-depth/security-design/) to understand better what you get when you use Acra and what is the threat model that Acra operates in.
You can also check out the speaker slides for the following talks by Cossack Labs engineers:
- ["Encryption Without Magic, Risk Management Without Pain"](https://speakerdeck.com/vixentael/encryption-without-magic-risk-management-without-pain) by [Anastasiia Voitova](https://github.com/vixentael).
- ["Data encryption for Ruby web applications"](https://speakerdeck.com/shad/data-encryption-for-ruby-web-applications) by [Dmytro Shapovalov](https://github.com/shadinua).
- ["Building SQL firewall(AcraCensor): insights from developers"](https://speakerdeck.com/storojs72/building-sql-firewall-insights-from-developers) by [Artem Storozhuk](https://github.com/storojs72).
## Example projects
| ⚙️ [Run Acra Example Projects](https://github.com/cossacklabs/acra-engineering-demo) ⚙️ |
|---|
## GDPR, HIPAA, CCPA
Acra can help you comply with the current privacy regulations, such as:
* [General Data Protection Regulation (GDPR)](https://gdpr-info.eu/)
* [HIPAA (Health Insurance Portability and Accountability Act)](https://en.wikipedia.org/wiki/Health_Insurance_Portability_and_Accountability_Act)
* [DPA (Data Protection Act)](http://www.legislation.gov.uk/ukpga/2018/12/contents/enacted)
* [CCPA (California Consumer Privacy Act)](https://en.wikipedia.org/wiki/California_Consumer_Privacy_Act)
Configuring and using Acra in a designated form will cover most of the demands described in articles 25, 32, 33, and 34 of GDPR and the PII data protection demands of HIPAA. Read more about [Acra and Regulations](https://docs.cossacklabs.com/acra/regulations/).
## Open source vs Enterprise
This is Acra Community Edition, the open source version of Acra, which is 💯 free for commercial and non-commercial usage. Please let us know in the [Issues](https://www.github.com/cossacklabs/acra/issues) if you stumble upon a bug, see a possible enhancement, or have a comment on security design.
There are also [Acra Enterprise Edition](https://www.cossacklabs.com/acra/#pricing) available. It provides better performance, redundancy/load balancing, comes pre-configured with crypto-primitives of your choice (FIPS, GOST), has integration with key/secret management tools in your stack, policy management, client-side SDKs, and have plenty of utils and tools for your Ops and SREs to operate Acra conveniently. [Talk to us](mailto:sales@cossacklabs.com) to get full feature lists and a quote.
## Security consulting
It takes more than just getting cryptographic code to compile to secure the sensitive data. Acra won't make you “compliant out of the box” with all the modern security regulations, and no other tool will.
[We help companies](https://www.cossacklabs.com/solutions/security-strategy-advisory/) plan their data security strategy by auditing, assessing data flow, and classifying the data, enumerating the risks. We do the hardest, least-attended part of reaching the compliance – turning it from the “cost of doing business” into the “security framework that prevents risks”.
## Contributing to us
If you’d like to contribute your code or provide any other kind of input to Acra, you’re very welcome. Your starting point for contributing [is here](https://docs.cossacklabs.com/acra/contributing-and-community/).
## Acra feedback
If you are an Acra user, please leave a [short feedback](https://forms.gle/1pVtknvvRcDpiZYQ8).
## License
Acra Community Edition is licensed as Apache 2 open-source software.
## Contacts
If you want to ask a technical question, feel free to raise an [Issue](https://github.com/cossacklabs/acra/issues) or write to [dev@cossacklabs.com](mailto:dev@cossacklabs.com).
To talk to the business wing of Cossack Labs Limited, drop us an email to [info@cossacklabs.com](mailto:info@cossacklabs.com).
[](https://cossacklabs.com/) [](https://twitter.com/cossacklabs) [](https://dev.to/cossacklabs/) [](https://medium.com/@cossacklabs/)