1.1 --- a/README.txt Thu Jul 31 10:42:44 2014 +0200
1.2 +++ b/README.txt Wed Aug 06 17:04:14 2014 +0200
1.3 @@ -3,9 +3,39 @@
1.4
1.5 0. What is it
1.6 1. How to use it
1.7 -2. Thanks
1.8 +2. Who is providing this, and how is it provided
1.9
1.10 0. What is it
1.11 -------------
1.12
1.13 +pEp Engine is an implementation of the p≡p standard as a portable C library.
1.14 +pEp Engine is written for being used on Windows, MacOS X, iOS, Android and
1.15 +GNU/Linux. It is meant to be used on other POSIX compliant systems as well.
1.16
1.17 +The p≡p standard defines how to use encryption and key management for message
1.18 +based communication between persons. It specifies a metric for encryption
1.19 +channels like OpenPGP or CMS, which then are applied on message transports like
1.20 +Internet Mail, SMS or WhatsApp. Additionally, the p≡p standard defines how to
1.21 +use GNUNet for implementing messaging where meta data can be hidden from
1.22 +eavesdroppers.
1.23 +
1.24 +1. How to use it
1.25 +----------------
1.26 +
1.27 +pEp Engine never should be used by an application programmer directly. It is
1.28 +meant to be used by an adapting implementation which removes most of the attack
1.29 +vectors usually offered by C code and common application programming mistakes.
1.30 +Such an adapter must not be written in C. If possible, it must be written in a
1.31 +safe language without the problems pointers bring in. If this is not possible,
1.32 +the adapter must be written in an unsafe language like C++, but the interface
1.33 +to the application programmer has to implement safety against such application
1.34 +programmer mistakes.
1.35 +
1.36 +pEp Engine is offering keymanagement.h. This should be the only interface which
1.37 +is being used by an adapter. The documentation is in this header file. If this
1.38 +cannot be done, because an adapter needs more internal access to pEp Engine,
1.39 +there is the additional interface in pEpEngine.h. This may be used while it is
1.40 +recommended not to use it. Only if there is no other way for the programmer of
1.41 +the adapter pEpEngine.h should be used. This is true for opening and closing a
1.42 +session to pEp Engine.
1.43 +