"Anonymous" is one rung on a three-step ladder that public proxy lists use to grade proxies by the headers they add to plain HTTP requests:
| Level | Your IP visible? | Proxy visible? |
|---|---|---|
| Transparent | Yes, in X-Forwarded-For | Yes |
| Anonymous | No | Yes, usually in Via |
| Elite | No | No |
An anonymous proxy strips your address but announces itself, typically with a Via header or a Proxy-Connection header. The site cannot see who you are, but it knows a proxy sent the request and can treat it accordingly.
How to check a proxy's level
Send a plain HTTP request through the proxy to a header echo service and read what arrives:
curl -s -x http://USERNAME:PASSWORD@HOST:PORT http://httpbin.org/headers
Use an http:// target on purpose. For an https:// site, the proxy only relays an encrypted CONNECT tunnel and cannot add headers to the request inside it, so every proxy looks elite over HTTPS. The grading only means something on unencrypted traffic.
What "anonymous" does not mean
The label is about headers, nothing more. It does not make you anonymous to the proxy operator, who sees every plain-HTTP request you send and the hostnames of your HTTPS ones. It does not stop a website from spotting a proxy either: sites judge the exit address by its network owner and reputation, not only by headers. For the full picture of what a proxy reveals, see what a proxy server is.