Why does navigator.webdriver reveal automation?
navigator.webdriver returns true when a browser is started under automation (for example, with the --enable-automation flag frameworks add). Detectors read it as a first-pass signal.
Setting it to false from a JavaScript init-script works until the page checks how it was set: a redefined property shows up in getOwnPropertyDescriptor, and a re-acquired native toString from another realm exposes the shim.
Clearcote's launch defaults simply don't add the automation flag, and the property is governed at the engine level, so navigator.webdriver is naturally false with no detectable override — the same reason a stock browser passes. Its humanized input keeps it that way while driving the page.