System ankietowy — szyfrowanie po stronie klienta
Ankiety hostowane statycznie (GitHub Pages). Odpowiedzi szyfrowane w przeglądarce (RSA-OAEP + AES-GCM) i wysyłane na lekki serwer Python + aiohttp + SQLite3.
O projekcie
Projekt powstał, by ułatwić zespołom badawczym szybkie uruchomienie bezpiecznych ankiet bez potrzeby konfigurowania skomplikowanej infrastruktury. Statyczna strona (np. GitHub Pages) działa jako frontend — to tam generujemy klucze, szyfrujemy odpowiedzi po stronie klienta i wysyłamy do prostego API serwera zapisu.
Główne założenia
- BezpieczeństwoSzyfrowanie end-to-end: RSA-OAEP (dla klucza sesji) + AES-GCM (dla treści odpowiedzi). Tylko analityk z tokenem może odszyfrować dane.
- Lekki backendPython + aiohttp + SQLite3 — minimum zależności, łatwe uruchomienie na tanim VPS (mikrokontenery, kopiowanie konfiguracji).
- Rola analitykaOsoba z dostępem (token 16 znaków) może pobierać zaszyfrowane rekordy, odszyfrować lokalnie i uruchomić wstępne przetwarzanie/analizy.
Skąd pomysł?
Projekt powstał w wyniku współpracy z młodymi zespołami badawczymi na Uniwersytecie Rzeszowskim — często brakowało im prostych rozwiązań IT. Chciałem dać narzędzie, które działa "out of the box": statyczny frontend, proste API i bezpieczny pipeline danych.