Skip to content

Decentralised platform for anonymous workplace reporting with privacy-first architecture, peer review system, and blockchain timestamping

Notifications You must be signed in to change notification settings

lee-msc-demo/witan-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WITAN Platform

Built for truth. Powered by trust. Shared in the public interest.

WITAN is a secure, decentralised platform for reporting workplace concerns anonymously and ethically. Inspired by the Anglo-Saxon council of trusted advisers, WITAN replaces hierarchy with decentralised peer review, enabling insiders to submit concerns whilst qualified reviewers evaluate disclosures impartially.

WITAN Platform - A Safe Space to Speak Up, Confidentially

Key Features

  • Privacy-First: No accounts, tracking, or metadata exposure
  • Anonymous Review: Rotating qualified professionals evaluate submissions
  • Blockchain Timestamping: OpenTimestamps integration for tamper-evident records
  • Decentralised Architecture: Microservices with event-driven communication
  • Public Good Framework: Adoptable, auditable, and improvable

Architecture

Services

  • Submission Service - Handles anonymous report submissions and file management
  • Reviewer Service - Manages peer review assignments and voting
  • Timestamp Service - Creates blockchain-verified proofs using OpenTimestamps

User Interfaces

  • Submitter UI - Privacy-focused interface for reporting concerns
  • Reviewer UI - Secure portal for qualified reviewers

Infrastructure

  • Kubernetes deployment with Cassandra, PostgreSQL, Redis, and Kafka
  • IPFS for decentralised file storage
  • Docker containerisation for all components

Quick Start

# Setup development tools (first time only)
./scripts/setup-tools.sh

# Deploy infrastructure (databases, messaging)
kubectl apply -k _deploy/k8s/base/infrastructure

# Deploy application services
kubectl apply -k _deploy/k8s/overlays/dev

# Check deployment status
kubectl get pods -n witan

# Access services
kubectl get svc -n witan

# Stop environment
kubectl delete -k _deploy/k8s/overlays/dev
kubectl delete -k _deploy/k8s/base/infrastructure

Project Structure

├── client/           # Frontend applications
├── server/           # Backend microservices
├── _deploy/          # Kubernetes manifests
└── scripts/          # Setup and utility scripts

Requirements

  • Docker & Kubernetes (minikube for local development)
  • Python 3.11+ with virtual environment
  • Node.js 18+ for UI development
  • Companies House API Key (free registration at https://developer.company-information.service.gov.uk/)
    Used to verify UK company identities and details when submitting or reviewing workplace concerns, ensuring accurate organisation information within the platform.

The setup-tools.sh script will automatically install required development tools including SOPS, Age, yq, and configure Portainer for container management.

Configuration

Before deploying, you'll need to:

  1. Generate Age encryption key: age-keygen -o ~/.config/sops/age/keys.txt
  2. Add Companies House API key to the encrypted secrets file
  3. Update secret values as needed using: sops _deploy/k8s/base/secrets/secret.enc.yaml

The platform uses SOPS for secure secret management with Age encryption.

License

This project is licensed under the MIT License.
See the LICENSE file for details. Open source framework designed as a public tool, not a private product.

About

Decentralised platform for anonymous workplace reporting with privacy-first architecture, peer review system, and blockchain timestamping

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published