A method comprising: providing an indication of a route request between an origin and a destination; identifying a starting road segment corresponding to the origin; identifying a target road segment corresponding to the destination; receiving one or more intermediate points for a route between the starting road segment and the target road segment; identifying one or more intermediate segments corresponding to the one or more intermediate points; establishing a route between the starting road segment and the target road segment, the route comprising a plurality of road segments and including the one or more intermediate segments, wherein the route comprises a plurality of route fragments, each route fragment comprising the segments between a starting road segment and an intermediate segment of the one or more intermediate segments, between intermediate segments of the one or more intermediate segments; or between an intermediate segment of the one or more intermediate segments and the target road segment; generating a fingerprint for each route fragment based on map agnostic properties of road segments of the respective route fragment, wherein the map agnostic properties include one or more of road name, road number, travel direction, or functional class, the map agnostic properties are combined into strings that are hashed to create hashed identifiers, wherein the fingerprints positively identify the road segments of a route fragment through the hashed identifiers; receiving a server-provided fingerprint for each route fragment; comparing the generated fingerprints for each route fragment with the server-provided fingerprints for each route fragment; and in response to the generated fingerprints for each route fragment corresponding with the server-provided fingerprints for each route fragment, providing navigational assistance for traveling along the route. providing an indication of a route request between an origin and a destination; identifying a starting road segment corresponding to the origin; identifying a target road segment corresponding to the destination; receiving one or more intermediate points for a route between the starting road segment and the target road segment; identifying one or more intermediate segments corresponding to the one or more intermediate points; establishing a route between the starting road segment and the target road segment, the route comprising a plurality of road segments and including the one or more intermediate segments, wherein the route comprises a plurality of route fragments, each route fragment comprising the segments between a starting road segment and an intermediate segment of the one or more intermediate segments, between intermediate segments of the one or more intermediate segments; or between an intermediate segment of the one or more intermediate segments and the target road segment; generating a fingerprint for each route fragment based on map agnostic properties of road segments of the respective route fragment, wherein the map agnostic properties include one or more of road name, road number, travel direction, or functional class, the map agnostic properties are combined into strings that are hashed to create hashed identifiers, wherein the fingerprints positively identify the road segments of a route fragment through the hashed identifiers; receiving a server-provided fingerprint for each route fragment; comparing the generated fingerprints for each route fragment with the server-provided fingerprints for each route fragment; and in response to the generated fingerprints for each route fragment corresponding with the server-provided fingerprints for each route fragment, providing navigational assistance for traveling along the route.