We use random.org to ensure all drawings are random. You can learn more about them here, and you can even look up your entry in the drawing.
Please note that random.org charges per entry, so the more entries we have, the more that drawing will cost. We try to keep that cost low so that the charity gets as much money as possible—to do that, we normalize the data. This process minimizes the amount of entries submitted per drawing by exactly the same proportion, so it cuts down on entries without affecting your chances of winning. For example, if a drawing receives one donation of $10 (which gives you 100 chances to win) and one donation of $100 (which gives you 1000 chances to win), the total pool of entries is 1100. So the $10 donor has a 10 in 1100 chance of winning (or 1 in 11). To streamline the data and reduce cost, we would divide each entry by 100, resulting in fewer entries but maintaining the same odds (in this case, 1 in 11).