http://i3xi5qxvnvtjk3am4vkw3xvfecjitic3brox4tfgl6mxqyzctqudscqd.onion/guard-spec/algorithm.html
Remove any guards that do not follow our path selection
restrictions, to build a temporary list. If that temporary list contains at
least one guard, choose a guard from that list uniformly at
random. If the temporary list contains no guards, return the first guard
from our reachable primary guard that does obey the path restriction.