damiano@2008: vb@16: damiano@2008: # What is the p≡p Engine? damiano@2008: The p≡p Engine is a Free Software library encapsulating implementations of: vb@447: vb@447: - Key Management vb@447: damiano@2008: Key Management in the p≡p Engine is based on GnuPG key chains (NetPGP on iOS). damiano@2008: Keys are stored in an OpenPGP-compatible format, and can be used for different crypto implementations. vb@447: vb@447: - Trust Rating vb@447: damiano@2008: The p≡p Engine sports a two phase trust rating system for messages: damiano@2008: In phase one a rating is derived based on channel, crypto and key security. damiano@2008: This is named "comm\_types". damiano@2008: In phase two these ratings are mapped to user-representable values mimicking the semantics of a traffic light. vb@447: vb@447: - Abstract Crypto API vb@447: damiano@2008: The Abstract Crypto API provides functions to encrypt and decrypt data or full messages, without requiring an application programmer to understand the different applied formats and standards. vb@447: vb@447: - Message Transports vb@447: damiano@2008: The p≡p Engine will sport a growing list of message transports, to support any widespread text-based messaging system such as E-Mail, SMS, XMPP and many more. vb@447: damiano@2008: The p≡p Engine is written in C99 and is expected to run on any platform that conforms to the SUS/POSIX specification. damiano@2008: Selected non-SUS platforms are supported as well (such as Microsoft Windows). roker@703: damiano@2008: # How can I use the p≡p Engine? damiano@2008: Build instructions can be found in the "doc/" subfolder in this repository. damiano@2008: The p≡p Engine is not meant to be used in application code directly. damiano@2008: Instead, the p≡p Engine is meant to be used in conjunction with a so-called "adapter". damiano@2008: An adapter provides an API in a programming language that best accomodates developers in their respective software development ecosystem. damiano@2008: So, for example, a Java Native Interface adapter exists for development of apps for the Android mobile operating system, or a .NET adapter exists for development of applications on Microsoft Windows. damiano@2008: Various adapters are also available at the link provided for the p≡p Engine's code above. vb@16: damiano@2008: # What is the current state of the project? damiano@2008: The p≡p Engine is production-ready. damiano@2008: It is under active development by several full-time employees of the p≡p foundation and its partner organizations. damiano@2008: The most recent version of the source code can be obtained here: . damiano@2008: This is the only offical way to obtain a copy of the source code. vb@16: damiano@2008: # I would like to contribute to the p≡p Engine or a realated project, where do I start? damiano@2008: First of all, excellent! damiano@2008: We'd love to dicuss this opportunity further with you. damiano@2008: Please contact the upstream developers to get started. damiano@2008: See the [Contact](#contact) section. vb@448: damiano@2008: # Legal notes damiano@2008: The p≡p Engine is Copyright 2015-2017 by p≡p foundation, Switzerland. damiano@2008: The source code of the p≡p Engine is licensed under the terms of the GNU General Public License version 3. damiano@2008: Accompanying documentation is licensed under the terms of the Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) License. damiano@2008: Each file includes a notice near its beginning, that indicates the applicable license. damiano@2008: If you wish to license the p≡p Engine under different terms, please contact . roker@528: damiano@2008: # Contact damiano@2008: The p≡p foundation and the developers of the p≡p Engine can be reached as detailed here: .