Customize and Integrate FileOpen DRM

The FileOpen Developer Toolkit allows businesses with internal IT development resources to develop their own tightly integrated authentication layer and permissioning server in their chosen language and server platform.

The Toolkit provides developers the strongest industry-standard encryption available, which can run in batch mode or dynamically on the server. For end-users, Toolkit supports the same set of lightweight viewers and plug-ins as FileOpen's turnkey products. 


Architectural Overview

The FileOpen Toolkit consists of a pair of applications, one to encrypt documents (the Encryptor) and another to decrypt and display those documents (the Client). These applications employ a common metadata scheme (the document data) and the client exposes a simple communications protocol. The two applications form the core of a publishing system.

A complete system requires the addition of server-side software to define the publisher’s business logic (e.g. to identify a document, then to determine whether a given user should be allowed to open that document) and to communicate this business logic to the client via the PermissionServer.

Document Encryption

Documents are encrypted at a RC4 128-bit, or AES 256-bit key in accordance with the specifications for that file format; details of which are available from Adobe Systems or Microsoft. During the encryption step, each document is assigned an encryption key and a set of metadata. All metadata other than the Encryption Key is stored in the document. The Encryption Key is used to encrypt the document, and then is discarded. By design, all metadata elements are defined by the publisher, subject to the above limitations.



PDF Encryptor (Win/Linux/Solaris™/FreeBSD®/HP-UX®/Java)

MSOffice Encryptor (Word/Excel/PPT)

Converter/Encryptor for FileOpen Viewer (.OPN format) (Win/Linux)


PermissionServer - Example Code

The FileOpen Toolkit consists of a pair of applications, encryption tools and secure document viewers/ clients. A third element (the PermissionServer) is required to manage interaction with the client via the communication protocol, however this functionality is considered to be outside of the system and is provided only in example form.  


The example code provided is written in Perl and ASP. There is no requirement that a PermissionServer be written in any particular language. Provided that it conforms to the syntax of the Communications Protocol, the PermissionServer may be written in any language run on any platform. Pre-built server components and complete “turnkey” PermissionServer systems are available; please contact us for more information.



Supported Clients & Viewers

Share files securely with end users on a broad array of platforms and devices.


FileOpen Developer Toolkit Manual

A complete guide to everything you can do with the FileOpen Developer Toolkit (PDF; 94pp)

Explore the possibilites of integrating FileOpen document security, risk-free

Request FileOpen Developer Documentation