GDPR, proof of concept for PDF storage

Document created by jrenfrew Expert on Mar 7, 2018Last modified by jrenfrew Expert on Mar 7, 2018
Version 2Show Document
  • View in full screen mode

GDPR, coming into force on May 2018 gives developers some real opportunites to leverage the native functionality in FileMaker 16+


I started with the idea that if you could store documentation without the original document then it could be possible to obfuscate it. Once no longer readable, then it could be transmitted to a third party, who would be able to unpack this, and if anyone intercepts the data, then it will be of no value.


There is another piece of the jigsaw about renaming files on import, or before transmission, so that the original name is obscured, again making it not possible to infer the contents from the title, no identifying information is revealed.



The attached file demonstrates the two concepts.

The first is achieved by using both:

CryptEncryptBase64 ( field ; key )

CryptDecryptBase64 ( field ; key )


Then a webviewer is set to

"data:application/pdf;base64," & $theDecryptedBase64


This enables the viewer to see the content, but not download it in any way. So this functionality could be built into a Runtime file given to a third party to see information, as what is passed between them is in the text field.

The other thing is that this also respoect the fact that the original PDf itself might have a password on it also and tihs is presevered, as in the second example.


The second is a really simple calculation which just requires the contruction of an obscured file name. There are of course many ways to achieve that, I am starting with current timestamp.

Base64Decode ( Base64EncodeRFC ( 4648 ; field ) ; $filename )


The bonus for Mac users here is that if the file is currently an icon, it will create the preview image WITHOUT the need to hit the hard drive

AND it won't trigger modification time to update.



Here is a thing to play with, the passwords you need are on the layout... Requires 16, of course.

14 people found this helpful