A provenance model for C pointers was developed to track the origins of pointer values, providing a precise mathematical specification and stimulating discussion in the C, C++, Rust, and compiler communities. The model defines storage instances, abstract addresses, and exposure/synthesis of pointer values to ensure sound aliasing analysis and prevent optimization complications.