Jify is protocol.
Jify uses OpenPGP.
Jify uses Secure HTTP.
Jify is being implemented as a command line tool (python) and as a Pidgin/libpurple protocol.
Jify, I think, is pretty cool.
- domains can publish SRV records if they want general public routing. for instance, if my public key has my own domain in one of the identities, i can publish a SRV record for the domain, indicating WHERE jiffies to my address are received. this server can be a proxy, or host multiple domains. of course, specific servers could be specified by the client on a per-recipient address... or even for ALTOGETHER DIFFERENT groups of people... or even for different conversations....
- use pidgin. create a pidgin-jify plugin for libpurple. only works if user has an openpgp agent running. use libgpgme extensively. discuss with wk about gpg2 and smartcards.
- implement server in python, at least the prototype. discuss forward-compatible options with wk.
- CLIENT - A "Jify" pidgin-type account (libpurple pidgin-jify, see above) with a working pgp ring and agent. Client must provide SERVER address (see "SRV record" above - ASSORTED IDEAS).
- SERVER - A python written server script using HTTPS for all kinds of communications. Accepts PRESENCE command, which initiates an Enigform Session Initiation process. SERVER HTTPS certificate MUST be validated by any means necessary. ALL incoming messages will be accepted, regardless if recipient is actually valid for the SERVER.
- PRESENCE - Command issued by CLIENT to SERVER to check for incoming messages. CLIENT must have publish key accesible for SERVER using standard sks servers (or internal ones), public/private DNS lookups, etc.
- SEND - Command issued by CLIENT to SERVER to send a message to a RECIPIENT. Always returns OK after random timeout, dispatch of message MUST NOT block server return after the random timeout.