Go to file
positron e34c865baf log: add a separate log level for SQL 2023-09-06 17:49:15 +02:00
.gitlab-ci-files CI: use Docker-in-Docker instead of KVM 2023-03-16 21:04:02 -05:00
api YML API: add commented-out stubs and method specification. Some might be moved to other files: the boundary between each API is not completely clear to me 2023-03-22 12:00:33 +01:00
asn.1 Build: asn.1 - add install / uninstall 2023-08-29 17:01:05 +02:00
build-android PEMA-103 Make engine depend on transport 2022-11-17 11:16:49 +01:00
build-mac PEMA-443 [xcode] remove -ObjC linker flag 2023-04-06 14:23:49 +02:00
build-windows Issue #123: Make Engine 3.2 compile on Windows. Work mostly by Alex Sualdea. 2023-02-04 22:55:21 +01:00
codegen codegen/sync.act: Do not use PEP_REQUIRE more than once in each function body; this will be needed for ICS; also use EMPTYSTR in a few places where it should have always been used 2023-05-15 13:18:06 +02:00
db fix ENGINE-956 2021-09-07 17:26:35 +02:00
doc Build: Rename local.conf to build.conf globally 2023-08-29 17:01:05 +02:00
old add release script 2022-11-30 22:10:20 +01:00
pEpMIME Build: Rename local.conf to build.conf globally 2023-08-29 17:01:05 +02:00
scripts Build: Rename local.conf to build.conf globally 2023-08-29 17:01:05 +02:00
src log: add a separate log level for SQL 2023-09-06 17:49:15 +02:00
test Build: Rename local.conf to build.conf globally 2023-08-29 17:01:05 +02:00
.gitignore Build: Rename local.conf to build.conf globally 2023-08-29 17:01:05 +02:00
.gitlab-ci.yml Build: Rename local.conf to build.conf globally 2023-08-29 17:01:05 +02:00
CC_BY-SA.txt Move most documentation to doc/, update README 2017-08-28 14:32:46 +02:00
DEPENDENCIES DEPENDENCIES: use YML 2.7.6 2023-05-25 12:56:04 +02:00
LICENSE.txt Move most documentation to doc/, update README 2017-08-28 14:32:46 +02:00
Makefile factor makefiles 2023-01-26 12:30:59 +01:00
Makefile.conf Build: add pEp wide build config concept. 2023-08-29 17:01:05 +02:00
NEWS add trailing "+" sign to version after 3.3.0-RC14, prepend an empty line to NEWS 2023-08-29 17:14:40 +02:00
README.WINDOWS add some windows documentation and comments 2022-11-03 14:47:25 +01:00
README.md README: rephrase 2023-05-22 12:54:44 +02:00
THANKS documentation: punctuation 2023-01-30 17:21:47 +01:00
build.conf.example Build: add pEp wide build config concept. 2023-08-29 17:01:05 +02:00
clean_sync_leftovers.sh adding trust sync files to clean_sync_leftovers.sh 2020-04-27 19:27:23 +02:00
engine_doxygen.conf remove _PEP_SQLITE_DEBUG support... 2023-05-09 14:34:14 +02:00
pEp-engine-print-log pEp-engine-print-log: remove trailing whitespace from the output 2023-05-04 12:46:25 +02:00
pEpErr.py ENGINE-633: fixed some bugs with key removal for pEp users if expired, but am stuck on some TOFU cases, so progress is stalled somewhat. 2020-09-03 09:16:22 +02:00
release release scripts: add --user-version option 2023-05-11 11:20:34 +02:00

README.md

CI Status

What is the p≡p Engine?

The p≡p Engine is a Free Software library encapsulating implementations of:

  • Key Management

    The p≡p Engine automatically manages keys using a pluggable crypto backend. The currently implemented backend is based on Sequoia PGP, and uses OpenPGP-format keys.

    p≡p for Email is interoperable with OpenPGP.

  • Trust Rating

    The p≡p Engine sports a two phase trust rating system for messages: In phase one a rating is derived based on channel, crypto and key security. This is named "comm_types". In phase two these ratings are mapped to user-representable values mimicking the semantics of a traffic light.

  • Abstract Crypto API

    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.

  • Message Transports

    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.

The p≡p Engine is written in C17 and is expected to run on any platform that conforms to the SUS/POSIX specification. Selected non-SUS platforms are supported as well (such as Microsoft Windows).

How can I use the p≡p Engine?

The official build instructions can be found at the URL https://dev.pep.foundation/Adapter/Adapter%20Build%20Instructions_Version_3.x_DRAFT The p≡p Engine is not meant to be used in application code directly. Instead, the p≡p Engine is meant to be used in conjunction with a so-called "adapter". An adapter provides an API in a programming language that best accomodates developers in their respective software development ecosystem. 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. Various adapters are also available at the link provided for the p≡p Engine's code above.

What is the current state of the project?

The p≡p Engine is production-ready. It is under active development by several full-time employees of the p≡p foundation and its partner organizations. The most recent version of the source code can be obtained here: https://gitea.pep.foundation/pEp.foundation/. This is the only offical way to obtain a copy of the source code.

I would like to contribute to the p≡p Engine or a related project, where do I start?

First of all, excellent! You can find further information here: https://contribution.pep.foundation/

Legal notes

The p≡p Engine is Copyright 2015-2023 by p≡p foundation, Switzerland. The source code of the p≡p Engine is licensed under the terms of the GNU General Public License version 3. Accompanying documentation is licensed under the terms of the Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) License. Each file includes a notice near its beginning, that indicates the applicable license. If you wish to license the p≡p Engine under different terms, please contact mailto:council@pep.foundation.

src/pEp_rmd160.c is adapted from LibTomCrypt by Tom St Denis and contributors, which was released by its authors into the public domain.

Contact

The p≡p foundation and the developers of the p≡p Engine can be reached as detailed here: https://pep.foundation/contact-us/index.html.