If you hash the ip and then use that for colouring the hash function is likely to be surjective (rather than bijective) but perhaps you could still work back to "it was probably one of these x (255?) ips"? If you then open source the code too, do you make it more susceptible to working back to the original ip? Perhaps you'd need some form of salt too?