A local-first, privacy-focused tool for independent artists to protect their work from non-consensual AI training.
ArtShield is the “Signal” of image protection. In a landscape where creative work is scraped without permission, we provide a “One-Click Shield” that restores agency to the artist.
We believe:
NoAI tags, Copyright assertions) directly into file headers.ArtShield uses a Hybrid Architecture to combine raw Python power with a modern, responsive UI.
mist_v2 research code and efficient image processing..exe / .app).git clone https://github.com/jwlehane/artshield.git
cd artshield
cd frontend
npm install
cd ../backend
python -m venv venv
# Windows:
.\venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate
pip install -r requirements.txt
Option A: Full App (Backend + Frontend)
# Terminal 1 (from root)
python backend/main.py
# Terminal 2 (from root)
cd frontend
npm run dev
Open http://localhost:5173. The UI will connect to the local Python API.
Option B: Mock Mode (Frontend Only) Run the UI with simulated API responses (perfect for UI dev or demos).
cd frontend
VITE_MOCK_API=true npm run dev
deploy.yml. It automatically deploys the frontend in “Mock Mode” to GitHub Pages on every push.| Phase | Status | Goal |
|---|---|---|
| I. MVP | 🟡 In Progress | Basic Drag & Drop UI, Mist Integration, Local Build System. |
| II. Connected | ⚪ Planned | Auto-updates for protection weights, “Verify My Shield” tool. |
| III. Collective | ⚪ Planned | Decentralized Opt-Out Registry & Artist Identity Verification. |
We encourage contributions from developers, researchers, and artists. Note: We strictly adhere to an ethical code—we do not build tools that facilitate non-consensual scraping or removing these protections.
Built with ❤️ by the DigitalHorizons Team.