For IPv4 access, we using tayga for 6to4 translation and then CGN for NAT.
There is a number of ways for Linux based NAT to store information for future forensic requests (i.e. "who was it cracking that website?").
But what about 6to4 translators, as tayga? I believe there should be well-known patches or solutions. The aim is to have what /64 (not even /128) was translated to what IPv4 at the requested time.
Do you really mean 6to4 or NAT64? Totally different things ...
If that's the case, I will suggest you go for Jool instead of Tayga.
Also, if you want the customers are able to use old IPv4 apps and devices, NAT64 is not sufficient, you need also CLAT at the customer premises (so they can run 464XLAT).
First, I thought to provide a /128 to every mobile, and then do a static 6to4 to certain public IPv4. But it seems mobile need a /64, and it uses a lot of random IPv6 inside assigned /64, several addresses together at each time, CLAT uses the most of it (on Android). So direct translation 6->public4 is impossible.
Then you cross reference that with the /64 that is assigned to the UE in the CDR
When doing lookups of this data, only look at the first 64 bits. That is all that matters and is unique to the UE. The last 64 bits in mobile is just noise from a Lawful Intercept and logging perspective.