Skip to content
RiskCogs

RiskCogs / Product

One score, two ways
to work with it.

Analysts get rules, replays and reports. Developers get one API, SDKs and webhooks. Same data, same project.

One payment. The whole picture.
  1. Observe
  2. Understand
  3. Decide

Scroll to explore · Illustrative console screens

Example: shadow mode flags 312 payments with €18,420 in simulated avoided loss. The inspector explains a score of 0.86. Review that evidence before choosing whether to enforce a card-testing rule. These are illustrative figures, not customer results.

Shadow report · last 7 daysIllustrative preview
Live traffic · no declinesShadow
Would-have-blocked312payments
Estimated loss avoided€18,420last 7 days
False-positive rate0.4%scored traffic
Would-have-blocked / day312 total
Recent paymentsscore / 1.00
pay_7f2a910.93Card testing · 14 attempts / 2 min
pay_8b4c830.88Device seen on 6 accounts
pay_9d6e120.86BIN country ≠ IP country
pay_a1f8400.12Trusted returning customer

All decisions simulated. Your PSP stays in control.

Shadow report

See the trade-off
before you block.

Review a weekly would-have-blocked report alongside payment value and review cost. Tune the rules without changing live payment decisions.

Illustrative project data, not measured results. No payments in this report were blocked.

Risk inspector

Follow the reasons,
not just the number.

Open one payment to see what contributed to its score. Follow connections between cards, devices, IPs and accounts without losing the original context.

The same score and reason identifiers are available in the API. A high score is evidence to review, not a claim of fraud.

Risk inspectorIllustrative preview
pay_9d6e12Shadow

€89.00 · Visa debit · just now

Risk score
0.86Elevated risk
0.00 · low1.00 · high

Score contributions

  • BIN country ≠ IP country+0.31
  • Device linked to 6 accounts+0.22
  • 3 successful payments−0.08

Would have declined. No action taken.

RulesIllustrative evaluation
Illustrative rules evaluated on example traffic
NameConditionModeHits 7dPrecision
Card testingcard.attempts_2m > 10Shadow14299.3%
Shared devicedevice.accounts_7d > 6Shadow9698.0%
Country mismatchbin.country != ip.countryShadow7494.6%
Trusted customercustomer.successful > 3Enforce1,28499.8%
Known blocked devicedevice.id in blocklistEnforce38100.0%
device.accounts_7d > 6

Promote only after reviewing outcomes.

Promote to enforce

Rules

Make enforcement
a deliberate decision.

Keep new rules in shadow mode while you inspect their matches. Compare precision and lift, then promote the rule when the trade-off makes sense for your business.

Shadow rules record a projected decision. Enforced rules can affect live decisions; review your thresholds before promotion.

Session replay

See how the checkout unfolded.

Put the score back in context. Inspect the moments that need a second look, without exposing card numbers.

Replay capture depends on consent. Sensitive fields are masked; card context is BIN only. Replay data can be erased on request.

Session replayIllustrative preview
pay_9d6e12 / session_71c9Consent granted

Payment details

Name · masked
Email · masked
Card · masked

Illustrative recording · sensitive fields masked

Browser · JavaScript · illustrative
import { RiskCogs } from '@riskcogs/js';

const rc = new RiskCogs({
  siteId: 'site_demo',
  mode: 'shadow',
});
await rc.track('payment', {
  paymentId: 'pay_9d6e12',
});
Server · event forwarding · illustrative
const response = await fetch('https://api.example.com/v1/score', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ payment_id: 'pay_9d6e12',
    amount: '89.00', currency: 'EUR', shadow: true }),
});
const result = await response.json();

Illustrative code, not published API documentation. Configure the upstream URL and secret on your server.

Quickstart

One integration.
Both teams in sync.

Send payment context from your existing flow. Keep secrets on your server and return the score to the same project your risk team uses.

Start with shadow: true. Observe matched rules before you connect them to a live decision.

Score response

A score you can reason about.

Get the score, risk band, reasons and matched rule identifiers in one response. Route the result in your own system or open the same payment in RiskCogs.

This example matches the inspector. Shadow mode records the assessment without enforcing a block.

pay_9d6e12 / assessment · illustrative
{
  "payment_id": "pay_9d6e12",
  "score": 0.86,
  "band": "high",
  "reasons": [
    "bin_ip_country_mismatch",
    "shared_device"
  ],
  "rules_hit": [
    "country_mismatch"
  ],
  "shadow": true
}

Stable identifiers connect the API, inspector and rule review.

200 OKassessment.created · delivered
Feedback to RiskCogs · illustrative
{
  "payment_id": "pay_9d6e12",
  "outcome": "chargeback",
  "reason": "fraud"
}

Webhooks & feedback

Close the loop.

Receive assessment events, then send the eventual outcome back against the original payment ID: chargeback, refund or confirmed-good.

Verify event names, signing and retry behavior against your integration contract.

Work in your existing stack.

Integration paths for the code and checkout you already run.

JavaScriptNodePHPPythonWooCommerceShopify

SDK and plugin availability is confirmed during onboarding. Examples here are illustrative.

Beside your PSP.
Inside your flow.

Keep your payment routing. Add risk context alongside it.

StripeAdyenMollieCheckout.comPayPal

Provider names illustrate existing payment stacks; no partnership or endorsement is implied.

Security & privacy, by design.

EU hostingConfirm your project region.

GDPRErasure and retention controls.

Consent-controlled replayCapture only with consent.

BIN onlyNo full card numbers.

Read about security & privacy

Understand the risk. Then choose the response.

Connect a project, observe your scores and review the evidence. Turn on enforcement only when you are ready.