{"id":25813268,"url":"https://github.com/rmardonesa/hashproof","last_synced_at":"2026-04-06T01:33:51.982Z","repository":{"id":279441676,"uuid":"938818823","full_name":"rmardonesa/HashProof","owner":"rmardonesa","description":"Fast and privacy-focused SHA-256 hash generator, built with Angular, Nest + PostgreSQL async API on Supabase (stateless microservice)","archived":false,"fork":false,"pushed_at":"2025-02-25T15:15:47.000Z","size":2122,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-25T16:20:13.579Z","etag":null,"topics":["angular","asyncronous","cibersecurity","http-api","nestjs","postgresql","privacy-protection","railway","scss","sha256","supabase","typescript","vercel"],"latest_commit_sha":null,"homepage":"https://hashproof.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rmardonesa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-25T14:53:43.000Z","updated_at":"2025-02-25T15:29:18.000Z","dependencies_parsed_at":"2025-02-25T16:20:28.773Z","dependency_job_id":"27e723af-7473-49dc-aada-2c8a0f26a0ca","html_url":"https://github.com/rmardonesa/HashProof","commit_stats":null,"previous_names":["rmardonesa/hashproof"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmardonesa%2FHashProof","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmardonesa%2FHashProof/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmardonesa%2FHashProof/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmardonesa%2FHashProof/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rmardonesa","download_url":"https://codeload.github.com/rmardonesa/HashProof/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241089756,"owners_count":19907808,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","asyncronous","cibersecurity","http-api","nestjs","postgresql","privacy-protection","railway","scss","sha256","supabase","typescript","vercel"],"created_at":"2025-02-28T02:27:39.532Z","updated_at":"2025-11-23T01:03:48.139Z","avatar_url":"https://github.com/rmardonesa.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/247ab4ce-f422-4a32-9235-96f73551beed\" alt=\"HashProof Logo\" width=\"250\" height=\"250\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ci\u003eProtect the integrity of your documents with a SHA-256 based verification hash\u003c/i\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Angular-DD0031?style=for-the-badge\u0026logo=angular\u0026logoColor=white\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Vercel-000000?style=for-the-badge\u0026logo=vercel\u0026logoColor=white\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Nest-E0234E?style=for-the-badge\u0026logo=nestjs\u0026logoColor=white\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Supabase-3ECF8E?style=for-the-badge\u0026logo=supabase\u0026logoColor=white\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Postgres-4169E1?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Railway-0B0D0E?style=for-the-badge\u0026logo=railway\u0026logoColor=white\"\u003e\n\u003c/p\u003e\n\n\n## 🚀 Overview\n\n**HashProof** is a lightweight, open-source webapp tool that allows users to **generate SHA-256 hashes** for digital PDF documents while ensuring maximum privacy. \n\nUnlike other verification tools, **HashProof does not store any files**—everything happens in memory, making it a secure and privacy-respecting solution.\n\n\n### 🧠 Why HashProof?  \n\nIn a digital era where document integrity is critical, ensuring that a file remains unaltered is essential. Traditional solutions often store files in a database or process them in external servers, potentially exposing sensitive information. \n\nHashProof offers a **privacy-first** approach by generating the cryptographic fingerprint **on the fly** without storing or logging user data.\n\n### 🧪 How It Works  \n1. **Upload a document** (PDF format, up to 10MB).  \n2. **Generate its SHA-256 hash**, a unique fingerprint.  \n3. **Copy the hash to your clipboard** for secure storage or verification elsewhere.  \n\n### 📚 Features  \n|   | Description |\n|---|-------------------------------------------------------------|\n|✅ |**Drag \u0026 Drop File Upload** for a seamless experience.  |\n|✅ |**Real-Time SHA-256 Hash Generation** with an asynchronous API. |  \n|✅ |**No File Storage**—documents are never saved, ensuring user privacy. |  \n|✅ |**Easy copy to clipboard** to keep your hash wherever you need.  |\n|✅ |**Modern UI with Angular** for a smooth user experience.  |\n|✅ |**Fast \u0026 Scalable Backend** using NestJS, Supabase (PostgreSQL), and Railway. |  \n|✅ |**Deployed with Vercel (Frontend) \u0026 Railway (Backend)** for high availability. | \n\n\n\n\n\n\n\n### 🧭 Installation\n\n1. **Clone the Repository**\n     ```sh\n     git clone https://github.com/rmardonesa/HashProof.git\n     cd HashProof\n     ```\n\n\n2. **Set Up the Backend**\n\n    ```\n    cd backend\n    npm install\n    ```\n\n3. **Create .env file in the backend directory and add the following**\n  \n    ```\n    DATABASE_URL=your_supabase_postgres_url\n    PORT=your_port\n    ```\n\n4. **Run the backend**\n    ```\n    npm run start\n    ```\n\n5. **Set Up the frontend**\n    ```\n    cd ../frontend\n    npm install\n    ```\n\n6. **Run Angular App**\n    ```\n    ng serve\n    ```\n\n\n## 🧰 Tech Stack and Integrations  \n\nHashProof integrates technologies to ensure **performance, scalability, and a smooth user experience**. Below is a breakdown of the stack:\n\n| **Category**            | **Technology**       | **Description** |\n|-------------------------|---------------------|----------------|\n| **Frontend Framework**            | Angular             | Provides a component-based architecture for a dynamic and interactive UI. |\n| **Frontend Styling**    | SASS                | Used for styling and customizable themes with powerful CSS features. |\n| **Front/Back Language**   | TypeScript          | Ensures strongly-typed code and maintainability in both frontend and backend. |\n| **Backend Framework**   | NestJS              | Provides a scalable, modular backend built on top of Node.js with TypeScript. |\n| **Hashing Algorithm**   | SHA-256             | Cryptographic function to generate a unique fingerprint of documents. |\n| **Database (SQL)**           | Postgres          | Reliable SQL database for future storage of hash records. |\n| **Database Hosting**    | Supabase            | Serverless Postgres with API authentication and seamless integration. |\n| **Backend Deployment**  | Railway             | Cloud platform for scaling backend services and API hosting. |\n| **Frontend Deployment** | Vercel              | Fast global deployment of the web app with automatic builds. |\n| **Asynchronous Requests** | Promises \u0026 Async/Await | Ensures smooth non-blocking API communication. |\n| **Security \u0026 Privacy**  | No file storage     | The system never stores documents, only processes them in memory for hashing. |\n\n## ⚖️ License\n\nThis Open Source project is licensed under the **BSD 3-Clause License**.\n\n## 🔮 Contributing\n\nContibutions are welcome! Follow these steps:\n\n1. Fork the Project\n\n2. Create a feature branch:\n\n  ```\n  git checkout -b feature/new-feature\n  ```\n\n3. Make your changes and commit them\n  ```\n  git push origin feature/your-feature\n  ```\n  \n4. Open a Pull Request!\n\n\n##  🌎 LIVE DEMO at https://hashproof.vercel.app\n\n\u003cp align=\"center\"\u003e\n\n  \u003cimg src=\"https://github.com/user-attachments/assets/0ec7b4c9-6581-4078-9e74-14a32864ecba\" width=\"367\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/a18e710c-a67f-48a4-b1b2-6e51f9900781\" width=\"360\"\u003e\n\u003c/p\u003e\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmardonesa%2Fhashproof","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frmardonesa%2Fhashproof","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmardonesa%2Fhashproof/lists"}