This policy aims to explain the following things:
It also explains the voting process in detail, how it tries to be as anonymous as possible while also preventing abuse.
This table lists the purposes, data points and retention dates for every way in which this app stores or processes data:
| Action | Data point | Where do we get it? | What do we do with it? | Who can access it? | Why do we do that? | How long do we keep it around? |
|---|---|---|---|---|---|---|
| Logging in with 42 | Intra username | From the Intra API | Create a session cookie to keep you logged in | n/a | If we don't do that, we would not be able to determine whether you are logged in. | The server does not retain your username, your cookie is gone when your session expires (or when you clear it manually). |
| Campus IDs | From the Intra API | Check whether you are a Codam student | n/a | To make it so only Codam students are allowed to run for council or vote in elections. | Gone immediately after checking | |
| Nominating yourself for an election | Intra username, full name, photo URL | From the Intra API | Show it on the voting page and in the council overview | Codam students (after logging in) | So students can see who they are voting for, and who is and has been on the council | Candidate data is kept around until the end of the election, council member data is kept until you withdraw your consent. |
| Tagline, description | From you filling them in on the site | Show it on the voting page and in the council overview | Codam students (after logging in) | So students can see who they are voting for, and who is and has been on the council | Candidate data is kept around until the end of the election, council member data is kept until you withdraw your consent. | |
| Casting a vote in an election | Votes | From you filling them in on the form | Store it in the database | The previous council and the candidates | Duh | Deleted a year after the election concludes. |
| Feedback | From you filling them in on the form | Store it in the database | The previous council (not the one up for election) | To get more context to your vote | Deleted a year after the election concludes. | |
| Intra username | From your login cookie | Store it in the database in a separate table from the votes | n/a | To stop you from voting more than once in the same election | Deleted when the election is over. Your username cannot be linked back to your vote. The council cannot check whether you have voted. | |
| Logging errors you encounter on the site | Username, request data | From your login cookie (if you are logged in), from the application | Store it in an error logging platform | cschuijt | To triage issues and monitor the health of the application. Your username is included so we can contact you if something weird happens, or to let you know what happened | Deleted after no more than 50 days |
Other than this, no personal data is stored or processed.
When voting in an election, the following data is submitted to the server:
The registration is kept separate from the votes and cleaned up after the election is over. Its only purpose is to stop you from voting more than once and it cannot be traced back to your vote.
If you want to cross-reference this policy with the source code of the application, you can find it on GitHub. If you need help, feel free to send cschuijt a Slack message.