Cartify is a digital authorship and certification system for artists. It fingerprints your artwork, embeds metadata, certifies your originality (visibly and invisibly), and automatically uploads the certified bundle to your Google Drive.
- Folder watching for incoming artworks
- SHA-256 + pHash fingerprinting
- Metadata embedding + steganographic hiding
- Poster-style certificate (PNG, PDF, GIF)
- Exported ZIP bundle for each certified art
- Google Drive upload with sharable link
- Local logging of certifications
- Automatically moves processed originals to a subfolder to prevent duplicates
-
Clone the repository:
git clone https://github.com/Hafizyishawu/cartify.git cd cartify -
Create and activate a virtual environment (optional but recommended):
python -m venv cartify source cartify/bin/activate # macOS/Linux .\cartify\Scripts\activate # Windows
-
Install dependencies:
pip install -r requirements.txt
When you run Cartify for the first time, it will:
- Prompt you to enter the full path of the folder to watch for artworks.
- Automatically create an
exportsandoriginalsfolder within it. - Save your configuration in
config.json.
Each time you drop a file prefixed with
CART_(e.g.,CART_MyArtwork.jpg), the app will trigger processing.
To enable Google Drive upload, you need to generate your own OAuth credentials from Google Cloud:
- Go to Google Cloud Console.
- Create a new project (or use an existing one).
- Navigate to APIs & Services > Credentials.
- Click Create Credentials > OAuth client ID.
- Choose Desktop App as the application type.
- Download the JSON file and save it as
credentials.jsonin the Cartify root directory.
Do not share or commit your personal
credentials.jsonto GitHub. Keep it private.
A credentials.example.json file is provided in this repo as a template reference only
On first upload, Cartify will open a browser window asking you to authenticate with Google.
You’ll grant access to your Drive (only for uploading certified bundles). A token.json file will be created — this is unique to you and should not be committed to version control.
python cartify_watcher_2.0.3.pyWhen a valid file is detected:
- You'll be prompted to input the author's name and artwork title.
- A certification bundle will be created and uploaded to your Drive.
- Log entries will be stored in
fingerprint_log.csv. - Processed originals are moved to
/originalssubfolder.
- Only files prefixed with
CART_will trigger processing. - Supported image types:
.png,.jpg,.jpeg,.bmp,.gif,.tiff,.webp,.jfif,.pjpeg,.pjp config.jsonandtoken.jsonare automatically created per user.- Keep your
credentials.jsonsafe and private (used to allow OAuth via Google Cloud). - Processed files are moved to the
originalssubfolder to prevent reprocessing.
MIT License — Free to use, modify, and distribute.
cartify/
├── cartify_watcher_2.0.3.py
├── drive_upload.py
├── template/
├── assets/
├── config.json (auto-generated)
└── token.json (auto-generated)


