Ramonda

RML009 — a key a write is refused for

get takes a string | number, so a key can come from data — a field name, a key off a parsed request body — and every write ends in an assignment into the copy. __proto__, constructor and prototype are refused there, in remove, and in a merge partial: assigning to __proto__ does not create a property at all, it runs the setter Object.prototype provides and replaces the copy's prototype.

If the key came from data, this is the guard doing its job — filter the key before building the path.

This is the one check that is not compiled out of production; only its message is. A check that ran solely in development would protect the one build that was never exposed to a request.

Next