Official GPS protocol documentation?
The official documentation for GPS is available online at:

https://www.gps.gov/technical/

The portions you are probably most interested in are the Interface Control Documents, especially:


IS-GPS-200, "NAVSTAR GPS Space Segment / Navigation User Segment Interfaces"
IS-GPS-800, "NAVSTAR GPS Space Segment / User Segment L1C Interface"


These documents jointly define the portions of GPS used for navigation and timing. If you're specifically interested in how the almanac and epherema are transmitted, that's covered in the second document.