innocence-java
Replace text with POS equivalent text, in a reversible fashion.
...The software relies on having a known "seed" value for the random number generator, which is known only by the sender and receiver. It also relies on the sender and receiver having a shared (identical) vocabulary file.
The project contains code to test input sentences for inclusion of words in the current vocabulary, and can create entries for new words as needed.
The vocabulary has a "MD-5 hash" value to make sure that the share vocabulary file is identical for both sender and receiver.
The software also contains a "bad-words" list of words that should never be generated in the text to be sent.