#security #service

bin+lib parsec-service

A language-agnostic API to secure services in a platform-agnostic way

12 releases (1 stable)

1.0.0 Mar 30, 2022
0.8.1 Sep 17, 2021
0.8.0 Aug 5, 2021
0.7.2 Mar 25, 2021
0.1.2 Feb 27, 2020

#239 in Cryptography

Download history 14/week @ 2022-01-27 13/week @ 2022-02-03 15/week @ 2022-02-10 21/week @ 2022-02-17 7/week @ 2022-02-24 10/week @ 2022-03-03 31/week @ 2022-03-10 54/week @ 2022-03-17 15/week @ 2022-03-24 34/week @ 2022-03-31 21/week @ 2022-04-07 17/week @ 2022-04-14 8/week @ 2022-04-21 100/week @ 2022-04-28 86/week @ 2022-05-05 207/week @ 2022-05-12

405 downloads per month

Apache-2.0

1.5MB
23K SLoC

Rust 12K SLoC // 0.0% comments C 7.5K SLoC // 0.1% comments C++ 3K SLoC // 0.0% comments Shell 341 SLoC // 0.2% comments GNU Style Assembly 117 SLoC // 0.1% comments Python 34 SLoC // 0.6% comments Prolog 8 SLoC // 0.3% comments

Parsec logo

Crates.io Code documentation

Welcome To PARSEC

PARSEC is the Platform AbstRaction for SECurity, an open-source initiative to provide a common API to hardware security and cryptographic services in a platform-agnostic way. This abstraction layer keeps workloads decoupled from physical platform details, enabling cloud-native delivery flows within the data center and at the edge.

Parsec Concept Diagram

Read the Parsec documentation online.

Read the whitepaper Security for the Infrastructure Edge.

Why PARSEC?

Use Parsec when you need:

  • A portable interface to your platform's Root of Trust in order to manage keys and perform cryptographic operations without knowledge of the hardware.
  • A simple and portable way to access the best available security of your platform in your preferred programming language.

What PARSEC Provides

The value proposition of Parsec is that it provides the following:

  • Abstraction – a common API that is truly agnostic and based on modern cryptographic principles
  • Mediation – security as a microservice, brokering access to the hardware and providing isolated key stores in a multi-tenant environment
  • Ergonomics – a client library ecosystem that brings the API to the fingertips of developers in any programming language: “easy to consume, hard to get wrong”
  • Openness – an open-source project inviting contributions to enhance the ecosystem both within the service and among its client libraries

Maintainers

PARSEC is a collaborative project. The current list of the individuals and organizations who maintain this project can be found here.

Partner Organizations

See who is using and contributing to PARSEC.

Getting Started

If you are running on x86 Linux, check out this guide to get started with Parsec quickly!

For examples of how to access PARSEC as a client application, check this Rust client documentation.

Check the user, client developer and service developer guides for more information on building, installing, testing and using Parsec!

Community

Come and ask questions or talk with the Parsec Community in our Slack channel or biweekly meetings. See the Community repository for more information on how to join.

Contributing

We would be happy for you to contribute to Parsec! Please check the Contribution Guidelines to know more about the contribution process. Check the open issues on the board if you need any ideas 🙂!

License

The software is provided under Apache-2.0. Contributions to this project are accepted under the same license.

Dependencies

~31–42MB
~839K SLoC