Traceroute deliberately sends packets with low time-to-live values to make the routers between you and your destination send back ICMP TTL exceeded messages. The traceroute output is basically the list of source IP addresses sending these TTL exceeded messages.
So the output tells you the 4th router has sent you a message from a private IP address. This is not a problem, your packets can be routed over links using private IP addresses.
Routers typically forward packets sent by others, but in this case, the router itself generates a packet to send back to you. The router has to decide which source address to send the packet from.
There are no rules on which source address to select. A common default is to use the IP address of the router's outgoing interface on which the packet will be sent. In this example, that tells us that the link between the third and fourth router uses private addresses.
The packet with source address 10.230.12.197 is routed to your computer. It is not possible for you to reply to this device using that address, but it is also not necessary for you to be able to send traffic to this router directly.
The administrator of the router with 10.230.12.197 could/should configure it to use an internet-routable address as the source. This would make the traceroute output cleaner and more meaningful.
Note that in this case it might be possible for you to reach this specific router directly if it is part of the internal network of your organisation.
If it is not inside your organisation, there should be a firewall preventing packets coming from the internet with private source addresses, but a private source address could work if no such filtering is being done.