Lossless.
A word that gets used loosely. Here it means something narrow and testable: the compressed image bytes come out exactly as they went in.
Lossless, for a metadata scrubber, means the entropy-coded image data is copied through byte for byte, with no decoding and no re-encoding, so the output decodes to exactly the same pixels as the input.
What it is
JPEG is a lossy format: some quality was discarded when the photograph was first compressed. Decoding and re-encoding it discards a little more, every time, even at the highest quality setting. Tools that remove metadata by loading an image and saving it again are doing exactly that.
Copying the compressed data instead avoids the question entirely. There is nothing to lose if nothing is recomputed.
Why it matters
Generation loss is cumulative and invisible until it is not. A photograph that has been through a scrubber, an uploader that re-encodes, and an editor that saves once more has been re-compressed three times.
It also makes the claim falsifiable, which is the more important property. "Lossless" as a marketing word means nothing. "The bytes from the SOS marker onward are identical, here is how to check" is a claim somebody can disprove.
tests/verify_scrub.py checks the result four ways: exiftool sees nothing from the drop list, the scan is byte-identical, both files decode to identical pixels, and both files look identical once orientation is applied. Two commands, and you have checked it yourself.
Related terms
Common questions.
Is the output file smaller?
Yes — by exactly the size of the segments that were removed, which is often a large fraction of a small file. The picture data is unchanged.
Why is "looks identical" checked separately from "identical pixels"?
Because a file can have byte-identical stored pixels and still appear turned a quarter turn if the orientation tag differs. The fourth check applies orientation before comparing, and it catches a mistake the other three would sail past.
Get ScrubPony
Strips identifying metadata out of JPEGs without touching a pixel. C99, no dependencies beyond libc, macOS and Linux, MIT-licensed.