Anonymonkey is an attempt at creating an anonymous survey mechanism.
Surveyors hosts their questions on a web service which allows users belonging
to a panel to answer anonymously.
This repository contains the survey authority web service used to negotiate
anonymous tokens and assert access to surveys on survey servers.
Please refer to the anonymonkey repository
for more information about project features, and dependencies.
Survey authority API documentation can be found at docs.anonymonkeyauthority.apiary.io.
Survey service API documentation is available at docs.anonymonkey.apiary.io.
Configuration and setup
Anonymonkey is hosted on anonymonkey.caille.me,
alongside with the authority service on
The anonymonkey repository
docker-compose.yml file useful to setup a development authority service
alongside with a sample survey service.
Anonymonkey service is exposed to the Docker host on port
authority service on port
Email sending is handled by Mailgun.
Mailgun allows to send emails reliably without the use of a SMTP server.
You need valid production or sandbox Mailgun credentials in order to send survey
Anonymonkey service configuration is stored in the
Before going into production, you must change the sample settings by
providing values for the variables below.
||Should the application be in debug mode. Set this to False in production|
||MongoDB database name|
||MongoDB server hostname|
||MongoDB server port|
||Redis server hostname|
||Redis server port|
||OpenID Connect OAuth client ID|
||OpenID server public key used to sign JWT assertions|
||JWT issuer claim of OpenID Connect server|
||JWT issuer used in survey access assertions tokens|
||Private RSA key used to sign JWTs|
||Public RSA key used to sign JWTs|
||Email address to be used when sending emails|
||Mailgun registered domain name|
||Mailgun sender API key|
Python and Gunicorn are used to host the backend service. Node.js and Gulp are
required to compile static assets.
These commands assume you have active MongoDB and Redis server listening on
git clone https://github.com/hugoatease/anonymonkey-authority.git cd anonymonkey-authority virtualenv env source env/bin/activate pip install -r requirements.txt pip install gunicorn npm install -g gulp npm install gulp gunicorn anonymonkey_authority:app
© 2016 Hugo Caille & Aymeric Masse.
Anonymonkey is released upon the terms of the Apache 2.0 License.