<commit_before># webhook_system

* [Homepage](https://rubygems.org/gems/webhook_system)
* [Documentation](http://rubydoc.info/gems/webhook_system/frames)
* [Email](mailto:piotr.banasik at gmail.com)

## Description

[![Build Status](https://travis-ci.org/payrollhero/webhook_engine.svg?branch=master)](https://travis-ci.org/payrollhero/webhook_engine)
[![Code Climate](https://codeclimate.com/github/payrollhero/webhook_system/badges/gpa.svg)](https://codeclimate.com/github/payrollhero/webhook_system)
[![Issue Count](https://codeclimate.com/github/payrollhero/webhook_system/badges/issue_count.svg)](https://codeclimate.com/github/payrollhero/webhook_system)

## Overview

Few Main points ..

1. The "server" holds on to a record of subscriptions
2. Each subscription has a secret attached to it
3. This secret is used to encrypt the entire payload of the webhook using AES-256
4. The webhook is delivered to the recipient as a JSON payload with a base64 encoded data component
5. The recipient is meant to use their copy of this secret to decode that payload, and then action it as needed.<commit_msg>Added gemnasium badge<commit_after># webhook_system

* [Homepage](https://rubygems.org/gems/webhook_system)
* [Documentation](http://rubydoc.info/gems/webhook_system/frames)
* [Email](mailto:piotr.banasik at gmail.com)

## Description

[![Build Status](https://travis-ci.org/payrollhero/webhook_engine.svg?branch=master)](https://travis-ci.org/payrollhero/webhook_engine)
[![Code Climate](https://codeclimate.com/github/payrollhero/webhook_system/badges/gpa.svg)](https://codeclimate.com/github/payrollhero/webhook_system)
[![Issue Count](https://codeclimate.com/github/payrollhero/webhook_system/badges/issue_count.svg)](https://codeclimate.com/github/payrollhero/webhook_system)
[![Dependency Status](https://gemnasium.com/payrollhero/webhook_system.svg)](https://gemnasium.com/payrollhero/webhook_system)

## Overview

Few Main points ..

1. The "server" holds on to a record of subscriptions
2. Each subscription has a secret attached to it
3. This secret is used to encrypt the entire payload of the webhook using AES-256
4. The webhook is delivered to the recipient as a JSON payload with a base64 encoded data component
5. The recipient is meant to use their copy of this secret to decode that payload, and then action it as needed.
{'fraction_non_alphanumeric': 0.1195049082373026, 'fraction_numerical': 0.008536064874093044, 'mean_word_length': 5.659090909090909, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 16, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1129792', 'n_tokens_mistral': 760, 'n_tokens_neox': 733, 'n_words': 187}