In my town, flags are flying at half-staff to honor a fallen firefighter, including the one at my office. Yesterday, I had to verify that flags do indeed fly at half-staff and not half-mast as some media outlet in town were reporting. Luckily, my favorite argument settler, the trusty AP Stylebook settled this question.
Per the AP Stylebook, unless you are on a ship or at a naval station, flags are flown at half-staff. The h is lowercase and the word is hyphenated.
If and only if you are on a ship or at a naval station, then the flag is at half-mast. In this case, the h is lowercase and the word is hyphenated.
While the difference may appear obvious, a mast can only be on a ship or Navy related space (base, shipyard, station, air station, recruit depot. For further example: New York Naval Shipyard, Norfolk Naval Base, Naval Air Station Key West), many people seem to be mixing this up. Flags fly on flag poles when not related to the Navy.