Actually you need to account for `JSON.secure`'s value.

See the following:

secure | JSON.secure | expected result
---------|-------------------|---------------------
null | null | secure
null | false | not secured
null | true  | secure
false | null | not secured
false | false | not secured
false | true | not secured
true | null | secured
true | false | secured
true | true | secured

I think then we need to add a `JSON.secure = true;` some where and add `if (secure == undefined) secure = JSON.secure;`