UUID4 does not rely on the machine's MAC address, from the [documentation][1]: > If all you want is a unique ID, you should probably call uuid1() or > uuid4(). Note that uuid1() may compromise privacy since it creates a UUID > containing the computer’s network address. uuid4() creates a random UUID. However, UUIDs of any kind do not promise to be cryptographically secure as it is not guaranteed in the [RFC][2]. Certain implementations may use a cryptographically secure random number generator, but I wouldn't rely on it. I would choose to use another library if that is what is needed. If you are using Python3 you can use the [secrets][3] library which has functions for doing just this. [1]: https://docs.python.org/2/library/uuid.html [2]: https://tools.ietf.org/html/rfc4122 [3]: https://docs.python.org/3/library/secrets.html