Skip to content

cloakyard/cloakimg

CloakIMG — A minimal photo editor that respects your photos

A fast, privacy-first photo editor that runs entirely in your browser.
No uploads, no servers, no tracking — your photos never leave your device.

Try it → img.cloakyard.com

MIT License Platform: Web & PWA 100% client-side On-device AI


✨ Features

Everything runs 100% client-side. Tools marked ✨ use on-device AI.

  • Edit — Crop & Rotate, Perspective, Adjust ✨, Levels ✨, Selective Colour ✨, Filters ✨ (40+ presets incl. Seasons), Time of Day, Relight ✨ (depth-aware lighting), Resize (Lanczos-3).
  • Retouch & privacy — Spot Heal, Portrait Blur ✨, Remove BG ✨, Redact ✨ (blur / pixelate / solid + one-tap Smart Anonymize of people or faces), Tap-to-Fix (context-aware quick action).
  • Annotate — Text, Shapes, Draw, Pen, Emoji, Watermark, Place Image, Colour Picker.
  • Finish — Frame (Polaroid, Film, Cinema, Vignette + more) and Border (solid or aspect-padded matte).

🧠 On-device AI

Models run locally — in a Web Worker, or on the main thread for face detection — so pixels never leave the tab. Nothing downloads until you accept an explicit consent dialog, and each model is cached after first use so AI keeps working offline.

Model Powers Size
ISNet (DIS) via Transformers.js Subject scoping (Whole / Subject / Background), Portrait Blur, Remove BG, Smart Anonymize 42 / 84 / 168 MB
MediaPipe BlazeFace Smart Anonymize → per-face redaction ~1 MB
Depth Anything V2 via Transformers.js Relight (depth-aware directional light) 28 / 49 MB

The subject mask is detected once per image and reused across every subject-aware tool.

🧭 Workspace & export

Layered non-destructive overlays · undo/redo (⌘Z / ⌘⇧Z) · hold-to-compare · reset to original · pan + pinch-zoom · single-key shortcuts · light/dark mode · mobile bottom-sheet UI.

Drag/drop/paste import · HEIC decode · EXIF reader + one-tap GPS/metadata strip · recents + autosave (IndexedDB) · batch mode · export to JPEG/PNG/WebP · wide-gamut (Display-P3) output.


🔒 Privacy

  • No uploads, no servers, no telemetry — every byte stays on your device; a strict CSP blocks any outbound request for image data.
  • On-device AI — models download once (with explicit consent), cache locally, and run fully offline thereafter.
  • One-tap EXIF strip — scrub GPS, camera info, and timestamps from exports.

🛠️ Tech Stack

Framework React 19 + TypeScript 6
Styling Tailwind CSS 4
Canvas Fabric.js 7 + a 2D-canvas pipeline for filters & per-pixel ops
On-device AI Transformers.js (ISNet, Depth Anything V2) + MediaPipe Tasks Vision (BlazeFace)
HEIC libheif-js (WASM, lazy-loaded)
Build / PWA Vite+ (vp) + vite-plugin-pwa (Workbox)
Hosting Cloudflare Workers — deployed on every push to main

🚀 Getting Started

Requires Node.js ≥ 24 and Vite+ (npm i -g vite-plus).

git clone https://github.com/cloakyard/cloakimg.git
cd cloakimg
vp install   # install dependencies
vp dev       # dev server with hot reload
Command Description
vp dev Dev server with hot reload
vp build Type-check + production build
vp preview Preview the production build
vp check Format, lint, type-check
vp test Run tests

🤝 Contributing

Contributions welcome — new filter presets, tool refinements, accessibility fixes, and HEIC/RAW coverage especially. See CONTRIBUTING.md.

📄 License

MIT — see LICENSE.

Built with ❤️ by Sumit Sahoo

About

A open source, minimal, browser-based photo editor that respects your photos

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors