Is there any way to make values not replicate to clients?

Just curious, how is using _G different from simply storing the value in ServerStorage? Both are placed somewhere away from your model

AFAIH both _G and shared should not be used because of possible race-conditions where one script loads before another, causing the value to potebtially not be set yet

I suppose if you want that value to be linked under the model, you could place a NumberValue or StringValue or whatever in ServerStorage, then place an ObjectValue in the Model with its Value set to the NumberValue so that it can be accessed from other server scripts.

_G is still a perfectly valid approach though I do recommend you use protection against race-conditions. I.e.

-- Script 1
_G.MySecretValues = {}

....
-- Script 2
repeat task.wait() until _G.MySecretValues

_G.MySecretValues.ABC = 123

(BTW do not unmark blueberry’s answer as solution, not that I think you would.)