Tolerance parameters

A lot of functions provided by Rhino.Geometry have a tolerance parameter, such as BrepFace.Split and Brep.CreateBooleanIntersection. Is there a rule of thumb to find a good tolerance number?
Grasshopper components don’t have tolerance parameters in general, so when I replace Grasshopper components by a Python scripting node, this tolerance parameter makes a headache in my head. (also, if you hit a Rhino command in the normal Rhino environment, you are not asked tolerance. So I believe there is a way to automatically adjust tolerance)

Just guessing, but maybe the standard components use documents tolerances?

It is typical in gh components to do two ways either:
A. Provide a tolerance input for the user
B. Use Rhinos document tolerance. How to get rhino file tolerance?