Throughout its matrix of atoms, myoglobin has a network of cavities that are inhabited for short lengths of time by ligands released by photolysis from the myoglobin heme. The purpose or effect of this cavity network is not clear. A recently published kinetic scheme that fits data from many native and mutant myoglobin oxygen photolysis experiments can be modified easily into a kinetic scheme that includes kinetic proofreading. Proofreading would provide protection against contaminants and, specifically, might help protect the cell from carbon monoxide poisoning. Here we present a two-part model: (1) myoglobin represented by a kinetic description, which includes proofreading reactions associated with the cavities, and (2) a reaction-diffusion description of a myocyte model in which the part 1 myoglobin acts as a mobile buffer in simultaneous carbon monoxide and oxygen gradients. The non-equilibrium nature of part 2 should promote the proofreading function of part 1. A simulation using the model demonstrates that the cavity system can in principle proofread, reducing mitochondrial enzyme contamination.