Midjourney saves your prompt, job_id, version (v6, v6.1, niji), and Discord user reference inside the PNG tEXt and iTXt chunks of every download. If you forward that file to a client or upload it to a stock platform, those fields are exposed. GhostMeta scans the PNG chunk list, surfaces what's there, and re-encodes via canvas — the resulting file has zero text chunks and a clean caBX boundary if Midjourney enabled C2PA on your tier. Because the parameters chunk records your exact flags — --ar, --stylize, --chaos, --weird, and crucially the --seed plus any --sref / --cref reference codes — anyone reading the PNG can re-roll a near-identical generation and trace the style or character references you reused across a series. Upscales and variations carry the same tEXt and iTXt chunks as the original grid download, so cleaning one frame does not clean the rest. GhostMeta decodes the PNG to a canvas and re-encodes it locally, dropping every text chunk and the caBX C2PA box in one pass, with nothing ever sent to a server.
tEXt or iTXt chunks named Description, parameters, prompt and Software, plus optional XMP, plus a caBX C2PA chunk on Pro/Mega tiers. Job ID and version are usually present.
If you re-export through Midjourney's web app the metadata is re-attached. To stay clean, run GhostMeta as the LAST step before sharing.
Older versions wrote your Discord ID into the user_id field. Recent versions hash or omit it, but treat any tEXt block as suspect.
Partially. The parameters tEXt chunk often stores the seed alongside --sref and --cref reference codes. With those values plus the prompt, another Midjourney user can re-roll a near-identical generation or lift your style references — Midjourney is not pixel-for-pixel deterministic, but the result is close. Stripping the chunk removes that reproducibility leak; only the visible pixels remain.
Yes. When you upscale a tile or request variations, Midjourney writes fresh tEXt and iTXt chunks into each new PNG — the metadata is not inherited from a single cleaned file. Run GhostMeta on every final asset individually, since one clean frame says nothing about the others in the set.
Many marketplaces parse the PNG chunk list on upload; a Software or parameters chunk naming Midjourney, or a caBX C2PA box, can trigger an automated AI-content flag or outright rejection. GhostMeta wipes those chunks so the file presents as a neutral PNG. Note this only addresses metadata signals — pixel-based AI detectors are unaffected.