Skip to content
Vasili Vasilyeu edited this page Nov 28, 2017 · 8 revisions

Themis

Themis represents a set of tools for managing and enforcing security policies along with framework to create such tools:

  • pdp - Policy Decision Point (core component of Themis);
  • pdpserver - standalone application server which runs PDP;
  • proto, pdp-service, pdp-control - gRPC protocol definitions and implementations;
  • pep - golang client package for "service" protocol (Policy Enforcement Point or PEP);
  • pepcli - CLI application which implements simple PEP and performance measurement tool for PDP server;
  • pdpctr-client - golang client package for "control" protocol (Policy Administration Point or PAP);
  • papcli - CLI application which implements simple PAP;
  • development tools:
    • jparser - set of helpers to create JSON stream parser;
    • egen - error processing code generator.

Themis design is inspired by eXtensible Access Control Markup Language (XACML) [XACML-V3.0].

Programmer's Guide

The guide introduces to the general architecture of Themis codebase and describes how to extend it with new features.

Clone this wiki locally