What is legal is not always what is right. Or prudent. Legality simply suggests the limits of what any society is willing to tolerate. It's legal to engage in exceptionally irritating behavior, or to be quite unethical in business. This doesn't make it right, only that many societies are quite liberal in what they allow before they deny liberty and property to one of their own citizens.
Likewise, triathletes both allow and suffer some fairly egregious behavior in their races, especially that part of the race taking place in the water. Part of the problem, of course, is the difficulty in officiating what goes on in the water. Swimmers are next to anonymous, and it's hard to adjudge fault; even harder to decipher malicious intent.
The lack of any real enforcement does negate the need for prudence, even if the need for etiquette does not compel you to exhibit a certain comportment. Bad or thoughtless behavior may not result in a penalty, but there is occasionally an attempt at justice meted out in the water which, like any vigilante solution, usually fails to benefit either party. Best, I thought, to help keep you from being the unintended recipient of retaliation. Also best—don't you think?—to use the work of others to help you achieve the most economical swim.
The first rule of thoughtful drafting is to touch the bottoms of feet, not heels, ankles or calves. Best not to touch anything, but above all your hand should not apply any downward pressure on any part of the person in front of you. Realize what's likely to happen if your hand, upon catching the water, lands on a swimmer's ankle or calf. His stroke is entirely interrupted, and he doesn't know where the next arm is going to land. On his thigh? His back? Perhaps you're preparing to climb on board, or swim over the top of him. How does he know? One such misplaced stroke can be considered an oversight, however if you hit my calf two, or even three, strokes in a row, I must assume you're a callous narcissist and you therefore deserve what's coming to you.
What might that be? I used to be a retaliator. I eventually realized, in the fullness of time, that retaliation is never fruitful. It just ends up costing you time (at best). By the time you do whatever it is you feel you need to do to the person behind you, you could've been several strokes up the course. So I don't retaliate anymore. That having been established, you shouldn't assume that others will be so even tempered. There are therefore two reasons to keep your hands off someone's legs. It's both incredibly rude, and potentially dangerous.
What is fair game? Touching the bottoms of the feet of the swimmer in front of you won't interrupt his rhythm. The better you are in the water, the better those around you. More accomplished swimmers are more accustomed to having the soles of their feet struck by the tips of your fingers. If you're drafting correctly you can't help but touch feet every now and again. How much of this can you get away with? It depends on the swimmer in front of you. I'd try to keep it to not more than once every 50 strokes, and no more than one out of 100 strokes would be better. If you're hitting someone's feet more often than that, you're too close or the swimmer in front of you is too slow, and you ought to look to get onto the next passing train.
There are some swimmers whose stroke is so smooth, whose kick is so mild, and whose line is so straight that I'd never touch their feet throughout the swim, even though I'd had a close, economical draft throughout. As a swimmer's stroke becomes more choppy, with speed changes and, even worse, directional changes, it becomes hard to keep the draft. In so doing you're going to have to adjust your stroke much more frequently, and you'll make contact more than would be optimal. You'll have to use your judgement to determine how much touching you can get away with, but I'd suggest keeping it to what I've outlined above.
Should someone come by you that appears an attractive draft, don't wait until that person swims entirely past before you get on. You can get a pretty good draft swimming to his side, a half body length behind. You might be able to comfortably keep that position for quite awhile, and it's easier to gauge where you are relative to your "engine" than if you're directly behind him. Swim on his hip, taking care, again, not to touch him. If you're swimming on him, it's not up to you to force him into a straight line. He's in front, and you need to respect that, even if he veers. Don't make body contact. If you don't like the line he's taking, get off him and swim your own line (though it's almost always better to draft a moderate zig-zagger than break your own water, even if your line is straighter).
If you want a fast start, but you also want to stay out of trouble and keep from being beaten up, there is an easy solution. Start at one end of the swim. I usually have my best swims when starting out on the edge, because there invariably seems to be a pretty fast swimmer who, like me, doesn't want to get pummeled. If I'm lucky he'll swim right by me, and I can jump in his feet and ride them to a very good swim. Such a swimmer does not have to worry about starting out at a frenetic pace, and he might be more likely to begin his race at a smoother rate. This keeps you from having to go anaerobic right from the gun.