How did you calculate the actual data size as 4TB ?
I assume the 12TB are the sizes of the actual database files - assuming you use operating system files rather than the Oracle ASM mechanism.
Or are you looking at the actual size of drives occupied by the database ? If your SAN or NAS is set to use RAID 0+1, then you will need double the spindles for mirroring. If you use RAID 5, then you will need up to 30% more spindles.
You should also look inside the database and look for how much space is actually used within each tablespace. It may just be that the DBA allocated them too large, in which case the available space may be reserved for future growth.
If the 4TB are just the base table data, you need to also account for the indexes. Again, check the total storage for all schema objects (tables and indexes mostly) and see how much space they use.
Some other answers mention that views might be a cause for the extra space. This is not true: views occupy no space (they are really just stored queries). *Materialized* views will occupy space. They essentially represent copies of other data.
My bottom line advice is: talk to the customer's DBA and ask him/her for explanations. I can't conceive a customer with a database that size that does not know how storage is used.