IMHO the most challenging part will be to merge the existing OSM data with the insurance data to have one common data model to work with (but please don't upload that data to OSM!). This depends quite a bit on the format you got from the insurance company (maybe you could provide some pointers to the format to get some more precise hints).
Usually you would start with a Geofabrik Extract of the region in question and then you need to figure out how to map the insurance data on existing OSM ways or nodes. Possibly you would add your own "safety tags" to your local OSM extract and use those artificial tags for routing decisions. Depending on your interpretation of your own tags, certain values could forbid block a street entirely altogether (compare to "access=no") or add a severe penalty to it (like "maxspeed=1"), so that a router will either completely ignore a way or use it with a much lower prio.
The rest is not really rocket science, iii already mentioned a number of pointers. OSRM, GraphHopper and BRouter come to mind, which are all fairly easily customizable to your requirements and can be made to accept your artificial tags for routing decisions.