If you want to store variables safely on one machine/client without others being able to override it (with publicVariable) - you need to either use the uiNamespace or the parsingNamespace. Both are different to the default missionNamespace in that they persist between missions.
The ideal solution would be to add another namespace - call it "localNamespace" (or localMissionNamespace). This new namespace would be otherwise fully identical to the missionNamespace, but since it's not default - you won't be able to publicVariable/override anything in it.