SecureWater is a robust image watermarking solution that helps protect digital assets through tamper-evident watermarking. The system embeds invisible watermarks that can detect any modifications to the image, including cropping, editing, or screenshot attempts.
- Invisible Watermarking: Embeds imperceptible watermarks that don't affect image quality
- Tamper Detection: Identifies if images have been modified, cropped, or screenshotted
- User Authentication: Secure user accounts with watermark tracking
- Public Verification: Anyone can verify image authenticity without an account
- Responsive Design: Modern, responsive interface built with React and Tailwind CSS
- Real-time Processing: Fast watermark embedding and verification
- Secure Storage: Encrypted metadata storage with MongoDB
- React
- TypeScript
- Tailwind CSS
- Axios for API calls
- Node.js
- Express
- MongoDB
- JWT Authentication
- Sharp for image processing
- Multer for file uploads
- Node.js (v14 or higher)
- MongoDB
- npm or yarn
- Clone the repository
git clone https://github.com/yourusername/securewater.git
cd securewater- Install dependencies for both frontend and backend
# Install backend dependencies
cd server
npm install
# Install frontend dependencies
cd ../client
npm install- Set up environment variables
# In server directory, create .env:
PORT=5000
MONGODB_URI=mongodb://localhost:27017/watermark-system
JWT_SECRET=your-jwt-secret-key
JWT_EXPIRE=24h
# In client directory, create .env:
REACT_APP_API_URL=http://localhost:5000/api- Start the development servers
# Start backend server
cd server
npm run dev
# Start frontend server in a new terminal
cd client
npm startThe application will be available at http://localhost:3000
- Register an account or log in
- Navigate to the Upload page
- Drop or select an image
- Receive your watermarked image
- Go to the Verify page (no account needed)
- Upload a potentially watermarked image
- View the verification results, including:
- Original ownership information
- Timestamp
- Tampering detection results
- POST
/api/auth/register- Register new user - POST
/api/auth/login- User login
- POST
/api/watermark/upload- Upload and watermark image - POST
/api/watermark/verify- Verify image authenticity
Detailed API documentation is available in the API.md file.
-
Embedding:
- User uploads image
- System generates unique watermark
- Watermark is embedded using frequency-domain techniques
- Watermarked image is returned to user
-
Verification:
- Image is uploaded for verification
- System extracts watermark data
- Validates against database records
- Returns authentication results
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Sharp for image processing
- React for the frontend framework
- Tailwind CSS for styling
- MongoDB for database
- All contributors and supporters