Campus-Voice-Anonyms-Reporting-tool Svelte Themes

Campus Voice Anonyms Reporting Tool

Campus Voice: An anonymous reporting system for universities using SHA-256 hashing & Hash Table logic to guarantee privacy. Built with SvelteKit and Python, it features a student portal for reporting/status checks and an admin dashboard for secure responses.

🛡️ Campus Voice: Secure Anonymous Reporting System

A Cryptographically Secure Grievance Redressal Platform

Campus Voice is a full-stack web application designed to eliminate the fear of retaliation in student reporting. Unlike traditional "anonymous" forms that track metadata, Campus Voice uses a "Digital Black Box" architecture powered by SHA-256 Hashing to ensure that linking a report to a student is mathematically impossible.


🔐 Key Technical Concepts

1. Provable Anonymity via Hashing (SHA-256)

  • The Problem: Storing user data creates a risk of identity leaks.
  • The Solution: The system never stores the user's identity or their unique "Access Code."
  • Implementation:
    • When a report is submitted, a unique random code is generated for the user.
    • The system calculates the SHA-256 Hash of this code and stores only the hash in the database.
    • Because SHA-256 is a one-way function, the original code cannot be reverse-engineered from the database, ensuring total privacy even if the database is compromised.

2. Hash Table & Indexing Principles

  • Data Structure: The retrieval system operates on the principles of a Hash Table for O(1) lookups.
  • Optimization: Utilizes B-Tree Indexing within PostgreSQL to efficiently query millions of hashed keys without performance degradation.

🛠️ Tech Stack

  • Frontend: SvelteKit (JavaScript/HTML/CSS) - For a high-performance, reactive user interface.
  • Styling: Tailwind CSS - For responsive and modern design.
  • Backend: Python (Flask) - RESTful API handling cryptographic logic and request processing.
  • Database: PostgreSQL - Relational database for storing encrypted report data.
  • DevOps: Docker - Containerized environment for consistent deployment.

🚀 Features

  • 🚫 Zero-Knowledge Submission: Students can submit reports on sensitive topics (Harassment, Safety, Mental Health) without logging in or providing email addresses.
  • 🔑 Secure Status Tracking: Users receive a unique "Access Key" to track the status of their report later. The system validates this key by re-hashing it and comparing it to the stored hash.
  • 👮 Admin Dashboard: A secure, password-protected portal for administrators to triage reports, update statuses (e.g., "Under Investigation", "Resolved"), and post anonymous replies.
  • 💬 Two-Way Anonymous Chat: Allows admins to ask follow-up questions to the reporter without ever knowing who they are.

⚙️ How to Run Locally

Prerequisites

  • Python 3.8+
  • Node.js & npm
  • PostgreSQL installed and running locally

1. Backend Setup (Flask)

# Navigate to the backend folder
cd backend
# Install Python dependencies
pip install flask psycopg2-binary flask-cors
# Configure Database
# Update the DB_CONNECTION_STRING in app.py with your local Postgres credentials.
# Run the Server
python app.py

2.Frontend Setup (SvelteKit)

# Navigate to the frontend folder
cd frontend
# Install dependencies
npm install
# Start the development server
npm run dev

Top categories

Loading Svelte Themes