Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Obscura_ver3

Description

A secure data anonymization tool with a modern frontend and FastAPI backend. Supports login, PII detection, and masking or hashing options.

Requirements

  • Python 3.8+
  • FastAPI, Uvicorn, pandas, openpyxl, bcrypt, passlib, itsdangerous, Jinja2, python-multipart, and python-dotenv

Configuration

Create a local .env file and configure these values before starting the application:

SESSION_SECRET_KEY=replace-with-a-long-random-secret
OBSCURA_ADMIN_USERNAME=admin
OBSCURA_ADMIN_PASSWORD_HASH=replace-with-a-bcrypt-hash
OBSCURA_USER_USERNAME=user
OBSCURA_USER_PASSWORD_HASH=replace-with-a-bcrypt-hash

Generate bcrypt hashes locally with Passlib. Do not commit the .env file or real credentials.

How to Run

python3 -m venv venv
source venv/bin/activate
pip install fastapi uvicorn pandas openpyxl bcrypt passlib[bcrypt] itsdangerous jinja2 python-multipart python-dotenv
uvicorn backend.main:app --reload

Then visit http://localhost:8000.

Features

  • File upload and preview
  • PII auto-detection
  • Masking or hashing
  • Download of anonymized files
  • User and admin access control
  • Action logging

Project Structure

  • backend/ — FastAPI logic and anonymization code
  • frontend/ — HTML, CSS, and JavaScript interface
  • temp/ — temporary uploaded files
  • results/ — anonymized outputs

Security Notes

  • Credentials are loaded from environment variables and are not included in the repository.
  • The session secret must be configured before the application starts.
  • Never commit .env, real passwords, API keys, or personal data.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages