Electronic Transactions Validator based on input data and Machine Learning
PHP JavaScript CSS CoffeeScript HTML Python Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
dashboard
data-docker
doc
magento-extension/app
mlplugin
nofraud
.gitignore
Dockerfile-magento
Dockerfile-nofraud
LICENSE
README.md
deploy.sh
docker-compose.yml

README.md

NoFraud

Electronic Transactions Validator.

Table of Contents

Description

NoFraud is a federated multi-node electronic transactions validator. Uses Machine Learning to check transactions and give back if transaction is fraudulent or legitim. End users can configurate to which nodes can connect and params to check depending to your needs. The network nodes is configured as a close - federated and trusted system that uses SSL, TLS and certificate to exchange data. End users connect to those nodes with SSL and make API-Rest request to check if transtactions are legitim or fraudulents. If transaction is legitim, you can continue the proceess, if is fraudulent, system denied operation. Once the transaction is finished, the information is sent to the rest of the nodes to feed the machine learning and help make the global network more secure.

Technology used

  • Machine Learning
  • Python
  • PHP (Core)
  • Docker
  • Tensor Flow
  • API-Rest
  • Dashing.io

Features

  • Command Line
  • Magento Module
  • Configurable Plugin via Admin Panel
  • Multinode Connections
  • Monitoring Dashboard

Configuration

In data/config.yml you declare plugins that NoFraud node will use, they will be processed from up to down priority

In data/database.sqlite you can add users as id, username, password (bcrypt)

Refer to https://github.com/onticsoluciones/nofraud-sample-data for data and plugin samples

Usage

Once running, NoFraud expose and API REST interface you can interact:

  • GET petition /capabilities => you get a JSON array with variables network can return an assessment about

  • POST petition /assessment => you send a JSON array (key => value) and get a % assessment (0-100) which 0 is the worst and 100 the best

Additionally you can send transactions for learning puporses adding "learn" variable set to 1 and "condition" set to 1 for a god transaction and 0 for a bad one

Credits

Contributors