In games such as CS:GO, I believe smoke screens are rendered server-side. This allows for all players in the game to register the exact same smoke screen. (no differences in visibility) In other words, this makes smokes more reliable as you know that as long as your view model is completely shrouded in smoke, the opponent cannot possibly know you are there. (or at least, see any part of you)
However, I am unsure if this is the same for Rainbow Six: Siege. Are smokes reliable in this case? Are they rendered client or server side?