kappas

module
v0.0.0-...-c3ab6b1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 13, 2019 License: Apache-2.0

README

Key Allocation for Protected PANs on AWS Services (KAPPAS)

Overview

KAPPAS is a PCI DSS compliant PAN storage framework for Go. It's mainly developed for AWS services, however, it's designed to be extensible and could be used in a variety of other environments. It allows services to store and retrieve PAN information quickly and securely.

What is PCI DSS

Payment Card Industry Data Security Standard (PCI DSS) is described as:

The Payment Card Industry Data Security Standard (PCI DSS) is a set of standards created by major payment card companies to protect consumers and avoid liability by forcing businesses involved in the payment card ecosystem to implement safety measures and processes.

How to use

At the moment, this is meant to be used as a framework for developing a PAN storage solution. Everything is documented using godoc, and specification documents can be found in the docs folder.

Contributions

Contributions are welcome, please make sure you write tests and documentation when modifying code 🙂

TODO
  • Finish gRPC view
  • Package everything up in a docker container
  • Package architecture into AWS Cloud Formation

Why?

I built this framework while interning at a startup that wanted to process PAN information for their existing platform. They were using an AWS infrastructure, and they needed to become PCI compliant. I then designed this solution that successfully allowed them to quickly spin up a secure system for processing sensitive information. This framework was also designed to be highly extensible and maintainable so that it could provide business value further into the future.

Throughout this project, I learned a lot about compliance, security engineering, and technologies including Go, Docker, gRPC, and AWS.

Directories

Path Synopsis
Package main is a package used to develope and run the KAPPAS framework
Package main is a package used to develope and run the KAPPAS framework
Package model pretains to the creation and use of models within KAPPAS
Package model pretains to the creation and use of models within KAPPAS
data
Package data provides an interface for creating and using different types of data, usually in the context of an MVC
Package data provides an interface for creating and using different types of data, usually in the context of an MVC
database
Package database provides an interface for creating and using databases.
Package database provides an interface for creating and using databases.
key
Package key provides an interface for creating and using encryption keys.
Package key provides an interface for creating and using encryption keys.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL