Fork me on GitHub

Treetank - Secure Treebased Storage

Treetank stores data securely by applying different layers on the stored data. Flexible handling of flat as well as tree-based data is supported by a native encoding of the tree-structures ongoing with suitable paging supporting integrity and confidentiality to provide throughout security.

Secure in this context includes integrity-checks, encryption to guard the confidentiality with tree-aware key handling and adaptive versioning approaches providing accountability. Furthermore, different backends are provided while a binding to different cloud-infrastructures is in progress.

Architectural Overview

What components does Treetank consists of?

Treetank consists out of three main components:

  • Interfaces enabling data mappings to be stored are located in the interfacemodules
  • The core layer containing the page layer and security measures are located in the coremodules. The corelayer furthermore contains the binding to different backends.
  • Student projects are located in the studentmodules. Note that student projects are mainly well-tested and reviewed but neither feature-complete nor maintained.

What is Treetank ?

Treetank is:

  • a complete Java-based library entirely mavenized
  • acting as base for various thesis and papers
  • offering flexible interfaces for storing various data (ranging from blocks to REST-resources)
  • for a university project well-document and tested


Treetank acted as a base in various thesis and papers namely:


This work is released in the public domain under the BSD 3-clause license

Build status

Treetank is guarded by Travis CI: Build Status

Involved People

Treetank is maintained by:

  • Sebastian Graf (Treetank Core & Project Lead)

Current subprojects are:

  • Andreas Rain (Binding to Filesystems and iSCSI (over jSCSI) and Implementing graphical user interface)

Concluded subprojects were:

  • Nuray Gürler (Maven Websites)
  • Patrick Lang (Encryption layer)
  • Johannes Lichtenberger (Visualization of temporal trees and Evaluation of several versioning approaches)
  • Wolfgang Miller (Binding of Treetank to cloud backends)
  • Lukas Lewandowski (Jax-RX binding)
  • Tina Scherer (native XPath2 engine)
  • Marc Kramis (first draft1 of Treetank core)