How Suby protects against automated attacks, card testing, and suspicious payment activity.
Suby’s fraud prevention system protects against automated attacks, card testing, and suspicious payment activity. It combines bot detection, card testing prevention, and device fingerprinting, three independent layers that work together at the point of payment.
The anti-bot layer analyses dozens of passive signals during the payment session, mouse movement entropy, keystroke timing, browser environment consistency, and TLS fingerprint, to produce a bot confidence score for each checkout attempt.Cloudflare CAPTCHA is used as an additional layer of protection when the confidence score crosses a defined threshold.
Card testing attacks involve running large numbers of stolen card numbers against a payment endpoint to identify valid ones. Suby detects this pattern through velocity checks on both the user account and the device fingerprint, regardless of whether a new guest session is opened.Detection rules:
card_testing: max_declined_attempts: 3 # within rolling window velocity_window_seconds: 300 # 5-minute window distinct_cards_threshold: 3 # unique PANs per session small_amount_probe_limit: 2 # ≤ $1 micro-auth attempts block_duration_hours: 24 # first offence repeat_offence_action: "permanent"
Detections are keyed on a composite of device fingerprint ID, IP subnet (/24), and account ID when authenticated. All three keys are checked independently, a match on any single key is sufficient to trigger a block.
Every checkout session generates a stable device fingerprint that persists across browser sessions, private and incognito mode, and VPN changes. This fingerprint is the primary identity used when evaluating fraud signals and enforcing blocks.
Fingerprints are stored server-side only. They are never exposed to client-side JavaScript and cannot be queried or tampered with by the user.
When a fraud signal is triggered, the system applies a progressive block policy keyed to the device fingerprint. The escalation is automatic and requires no manual intervention.
Condition
Action
Duration
Reversible
First fraud signal
Payment blocked
24 hours
Auto-lifted
Retry during 24h block
Permanent block
Indefinite
Manual review only
Permanent block + attempt
Silent reject + alert
Indefinite
No
Card testing velocity
Payment blocked
24 hours
Auto-lifted
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Suby.fi","colors":{"primary":"#2F5BFF","light":"#6E8CFF","dark":"#1E3ECC"},"logo":{"light":"https://mintcdn.com/suby/78hmNhVo7Bl_AwU_/logo/dark.png?fit=max\u0026auto=format\u0026n=78hmNhVo7Bl_AwU_\u0026q=85\u0026s=5a8b457489b514aac7397c50d3db89fd","dark":"https://mintcdn.com/suby/78hmNhVo7Bl_AwU_/logo/white.png?fit=max\u0026auto=format\u0026n=78hmNhVo7Bl_AwU_\u0026q=85\u0026s=24b2f25a962d5405a87e21b992972103","href":"https://suby.fi"},"favicon":"https://mintcdn.com/suby/78hmNhVo7Bl_AwU_/logo/icon.png?fit=max\u0026auto=format\u0026n=78hmNhVo7Bl_AwU_\u0026q=85\u0026s=ca6a8614c28bf9d93ddfdea94f947bf2","navbar":{"links":[{"href":"https://app.suby.fi","label":"Dashboard v2"}],"primary":{"type":"button","label":"Get API key","href":"https://app.suby.fi/dashboard/settings"}},"footer":{"socials":{"website":"https://suby.fi","discord":"https://discord.com/invite/C8dxBm3hpj"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"suby","hasAudioNarration":false,"actualSubdomain":"suby","customDomains":["docs.suby.fi"],"gitSource":{"type":"github","owner":"subyhq","repo":"suby-monorepo","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ada11330d9ece1d40e85bba","collectionId":"8aa6702d-ba15-44c3-a3cf-bcd9d3875091","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ada11330d9ece1d40e85bba"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6adb382225425974785cb3c5","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API Reference","count":46},{"language":"default","tag":"Documentation","count":42},{"language":"default","tag":"Endpoints","count":39},{"language":"default","tag":"Platform","count":28},{"language":"default","tag":"Guides","count":15},{"language":"default","tag":"Features","count":14},{"language":"default","tag":"Bots","count":10},{"language":"default","tag":"Merchants","count":10},{"language":"default","tag":"Subscriptions","count":8},{"language":"default","tag":"Overview","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"v3-beta/docs/features/fraud-system","slug":"/v3-beta/docs/features/fraud-system","pageMetadata":{"description":"How Suby protects against automated attacks, card testing, and suspicious payment activity.","title":"Fraud Prevention System ","href":"/v3-beta/docs/features/fraud-system"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"How Suby protects against automated attacks, card testing, and suspicious payment activity.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Heading,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Suby’s fraud prevention system protects against automated attacks, card testing, and suspicious payment activity. It combines bot detection, card testing prevention, and device fingerprinting, three independent layers that work together at the point of payment.`}),`\n`,_jsx(Heading,{level:`2`,id:`protection-layers`,children:`Protection layers`}),`\n`,_jsxs(CardGroup,{cols:3,children:[_jsx(Card,{title:`Anti-Bot`,icon:`robot`,children:_jsx(_components.p,{children:`Behavioral analysis and challenge-response to detect and block automated traffic.`})}),_jsx(Card,{title:`Anti-Card Testing`,icon:`credit-card`,children:_jsx(_components.p,{children:`Detects rapid sequential payment attempts characteristic of stolen card validation.`})}),_jsx(Card,{title:`Device Fingerprint`,icon:`fingerprint`,children:_jsx(_components.p,{children:`Persistent device identity tracking to link activity across sessions and accounts.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`anti-bot-detection`,children:`Anti-bot detection`}),`\n`,_jsx(_components.p,{children:`The anti-bot layer analyses dozens of passive signals during the payment session, mouse movement entropy, keystroke timing, browser environment consistency, and TLS fingerprint, to produce a bot confidence score for each checkout attempt.`}),`\n`,_jsx(_components.p,{children:`Cloudflare CAPTCHA is used as an additional layer of protection when the confidence score crosses a defined threshold.`}),`\n`,_jsx(Heading,{level:`2`,id:`anti-card-testing`,children:`Anti-card testing`}),`\n`,_jsx(_components.p,{children:`Card testing attacks involve running large numbers of stolen card numbers against a payment endpoint to identify valid ones. Suby detects this pattern through velocity checks on both the user account and the device fingerprint, regardless of whether a new guest session is opened.`}),`\n`,_jsx(_components.p,{children:`Detection rules:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`card_testing`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` max_declined_attempts`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # within rolling window`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` velocity_window_seconds`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`300`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # 5-minute window`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` distinct_cards_threshold`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # unique PANs per session`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` small_amount_probe_limit`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # ≤ $1 micro-auth attempts`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` block_duration_hours`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`24`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # first offence`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` repeat_offence_action`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"permanent\"`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Detections are keyed on a composite of device fingerprint ID, IP subnet (/24), and account ID when authenticated. All three keys are checked independently, a match on any single key is sufficient to trigger a block.`}),`\n`,_jsx(Heading,{level:`2`,id:`device-fingerprinting`,children:`Device fingerprinting`}),`\n`,_jsx(_components.p,{children:`Every checkout session generates a stable device fingerprint that persists across browser sessions, private and incognito mode, and VPN changes. This fingerprint is the primary identity used when evaluating fraud signals and enforcing blocks.`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Fingerprints are stored server-side only. They are never exposed to client-side JavaScript and cannot be queried or tampered with by the user.`})}),`\n`,_jsx(Heading,{level:`2`,id:`block-escalation`,children:`Block escalation`}),`\n`,_jsx(_components.p,{children:`When a fraud signal is triggered, the system applies a progressive block policy keyed to the device fingerprint. The escalation is automatic and requires no manual intervention.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Condition`}),_jsx(_components.th,{children:`Action`}),_jsx(_components.th,{children:`Duration`}),_jsx(_components.th,{children:`Reversible`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`First fraud signal`}),_jsx(_components.td,{children:`Payment blocked`}),_jsx(_components.td,{children:`24 hours`}),_jsx(_components.td,{children:`Auto-lifted`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Retry during 24h block`}),_jsx(_components.td,{children:`Permanent block`}),_jsx(_components.td,{children:`Indefinite`}),_jsx(_components.td,{children:`Manual review only`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Permanent block + attempt`}),_jsx(_components.td,{children:`Silent reject + alert`}),_jsx(_components.td,{children:`Indefinite`}),_jsx(_components.td,{children:`No`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Card testing velocity`}),_jsx(_components.td,{children:`Payment blocked`}),_jsx(_components.td,{children:`24 hours`}),_jsx(_components.td,{children:`Auto-lifted`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"description":"How Suby protects against automated attacks, card testing, and suspicious payment activity.","title":"Fraud Prevention System ","href":"/v3-beta/docs/features/fraud-system"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Protection layers","slug":"protection-layers","depth":2,"children":[]},{"title":"Anti-bot detection","slug":"anti-bot-detection","depth":2,"children":[]},{"title":"Anti-card testing","slug":"anti-card-testing","depth":2,"children":[]},{"title":"Device fingerprinting","slug":"device-fingerprinting","depth":2,"children":[]},{"title":"Block escalation","slug":"block-escalation","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"suby","siteName":"Suby.fi","title":"Fraud Prevention System - Suby.fi","navMaps":{"firstHrefInVersion":{"v3-beta":{"href":"/v3-beta/docs/features/fraud-system","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-09-10T16:41:15.837Z","originalFileLocation":"v3-beta/docs/features/fraud-system.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"How Suby protects against automated attacks, card testing, and suspicious payment activity.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Suby.fi\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/suby/K5zAxKZCvFlEOxIM/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/suby/K5zAxKZCvFlEOxIM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/suby/K5zAxKZCvFlEOxIM/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/suby/K5zAxKZCvFlEOxIM/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/suby/K5zAxKZCvFlEOxIM/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/suby/K5zAxKZCvFlEOxIM/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/suby/K5zAxKZCvFlEOxIM/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/suby/K5zAxKZCvFlEOxIM/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/suby/K5zAxKZCvFlEOxIM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Fraud Prevention System - Suby.fi\">\u003cmeta data-mint-head property=\"og:description\" content=\"How Suby protects against automated attacks, card testing, and suspicious payment activity.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Suby.fi\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.suby.fi/v3-beta/docs/features/fraud-system\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://suby.mintlify.app/_mintlify/api/og/v2?division=Features\u0026amp;title=Fraud+Prevention+System+\u0026amp;description=How+Suby+protects+against+automated+attacks%2C+card+testing%2C+and+suspicious+payment+activity.\u0026amp;theme=69a80b99b04499f8ba92403e\u0026amp;signature=77cad411d99102bb99d19b850eef23457b583cdfec01380f98f145d364ea6b6e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Fraud Prevention System - Suby.fi\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How Suby protects against automated attacks, card testing, and suspicious payment activity.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://suby.mintlify.app/_mintlify/api/og/v2?division=Features\u0026amp;title=Fraud+Prevention+System+\u0026amp;description=How+Suby+protects+against+automated+attacks%2C+card+testing%2C+and+suspicious+payment+activity.\u0026amp;theme=69a80b99b04499f8ba92403e\u0026amp;signature=77cad411d99102bb99d19b850eef23457b583cdfec01380f98f145d364ea6b6e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/suby/K5zAxKZCvFlEOxIM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Suby.fi\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2F5BFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.suby.fi/v3-beta/docs/features/fraud-system\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v3-beta/docs/features/fraud-system.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.suby.fi/#organization\",\"name\":\"Suby.fi\",\"url\":\"https://docs.suby.fi\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/suby/78hmNhVo7Bl_AwU_/logo/dark.png?fit=max\u0026auto=format\u0026n=78hmNhVo7Bl_AwU_\u0026q=85\u0026s=5a8b457489b514aac7397c50d3db89fd\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.suby.fi#website\",\"name\":\"Suby.fi\",\"url\":\"https://docs.suby.fi\",\"publisher\":{\"@id\":\"https://docs.suby.fi/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.suby.fi/v3-beta/docs/features/fraud-system#webpage\",\"url\":\"https://docs.suby.fi/v3-beta/docs/features/fraud-system\",\"name\":\"Fraud Prevention System \",\"description\":\"How Suby protects against automated attacks, card testing, and suspicious payment activity.\",\"dateModified\":\"2026-09-10T16:41:15.837Z\",\"isPartOf\":{\"@id\":\"https://docs.suby.fi#website\"},\"breadcrumb\":{\"@id\":\"https://docs.suby.fi/v3-beta/docs/features/fraud-system#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.suby.fi/v3-beta/docs/features/fraud-system#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Platform\",\"item\":\"https://docs.suby.fi/v3-beta/docs/features/checkout\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Features\",\"item\":\"https://docs.suby.fi/v3-beta/docs/features/checkout\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Fraud Prevention System \",\"item\":\"https://docs.suby.fi/v3-beta/docs/features/fraud-system\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.suby.fi/v3-beta/docs/features/fraud-system#article\",\"headline\":\"Fraud Prevention System \",\"name\":\"Fraud Prevention System \",\"description\":\"How Suby protects against automated attacks, card testing, and suspicious payment activity.\",\"url\":\"https://docs.suby.fi/v3-beta/docs/features/fraud-system\",\"mainEntityOfPage\":{\"@id\":\"https://docs.suby.fi/v3-beta/docs/features/fraud-system#webpage\"},\"dateModified\":\"2026-09-10T16:41:15.837Z\",\"publisher\":{\"@id\":\"https://docs.suby.fi/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.suby.fi#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Suby.fi\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Suby.fi","nav":{"global":null,"versions":[{"version":"v3-beta","default":true,"tabs":[{"tab":"Documentation","groups":[{"group":"About Suby","pages":[{"title":"Use with AI","icon":"sparkles","href":"/v3-beta/docs/introduction/AI"},{"title":"What is Suby?","href":"/v3-beta/docs/introduction/what-is-suby"},{"title":"Quickstart","href":"/v3-beta/docs/introduction/quickstart"},{"title":"Refer businesses to Suby","href":"/v3-beta/docs/introduction/refer"},{"title":"Account Reviews","href":"/v3-beta/docs/introduction/account-reviews"}]},{"group":"Sandbox/Test Mode","pages":[{"title":"Suby Sandbox","href":"/v3-beta/docs/sandbox/suby-sandbox"}]},{"group":"Who is Suby for?","hidden":true,"pages":[{"title":"SaaS \u0026 webapps","href":"/v3-beta/docs/who/saas"},{"title":"E-commerce","href":"/v3-beta/docs/who/ecom"},{"title":"Paid communities","href":"/v3-beta/docs/who/communities"},{"title":"Agencies \u0026 freelancers","href":"/v3-beta/docs/who/agencies"}]},{"group":"Platform","pages":[{"group":"Features","pages":[{"title":"Checkout","href":"/v3-beta/docs/features/checkout"},{"title":"One-time Payments","href":"/v3-beta/docs/features/one-time-payments"},{"title":"Subscriptions","href":"/v3-beta/docs/features/subscriptions"},{"title":"Pay As You Go","href":"/v3-beta/docs/features/pay-as-you-go"},{"title":"PayLinks","href":"/v3-beta/docs/features/paylinks"},{"title":"Discord Integration","href":"/v3-beta/docs/features/discord-integration"},{"title":"Telegram Integration","href":"/v3-beta/docs/features/telegram-integration"},{"title":"Discount Codes","href":"/v3-beta/docs/features/discount-codes"},{"title":"Global Tax \u0026 Compliance","href":"/v3-beta/docs/features/tax-compliance"},{"title":"Analytics","href":"/v3-beta/docs/features/analytics"},{"title":"Customers","href":"/v3-beta/docs/features/customers"},{"title":"Transactions","description":"The complete log of every payment event across your account.","href":"/v3-beta/docs/features/transactions"},{"title":"Fraud Prevention System ","href":"/v3-beta/docs/features/fraud-system"},{"title":"Refunds","description":"How to issue refunds from your dashboard.","href":"/v3-beta/docs/features/refund"}]},{"group":"Merchants","pages":[{"title":"Review Process","href":"/v3-beta/docs/merchants/account-review-process"},{"group":"Merchant of record","pages":[{"title":"What is a Merchant of Record?","href":"/v3-beta/docs/merchants/what-is-a-merchant-of-record"},{"title":"Taxes \u0026 VAT Handling","href":"/v3-beta/docs/merchants/taxes-vat-mor"},{"title":"Understand Your Fees","href":"/v3-beta/docs/merchants/fees-mor"}]},{"group":"PayFac","pages":[{"title":"What is PayFac?","href":"/v3-beta/docs/merchants/what-is-a-payfac"},{"title":"Taxes \u0026 VAT Handling","href":"/v3-beta/docs/merchants/taxes-vat-payfac"},{"title":"Understand Your Fees","href":"/v3-beta/docs/merchants/fees-payfac"}]},{"title":"Supported Businesses","href":"/v3-beta/docs/merchants/supported-businesses"},{"title":"Supported Countries","href":"/v3-beta/docs/merchants/supported-countries"},{"title":"Supported Currencies","href":"/v3-beta/docs/merchants/supported-currencies"}]},{"group":"Payment flows \u0026 fees","pages":[{"title":"Pay-ins \u0026 Payouts","href":"/v3-beta/docs/payment/payins-payouts"},{"title":"Stablecoin \u0026 Crypto Payments","href":"/v3-beta/docs/payment/stablecoins-crypto"},{"title":"Understand Your Fees","href":"/v3-beta/docs/payment/fees"},{"title":"Understand Your Balance","href":"/v3-beta/docs/payment/understand-my-payouts"}]}]},{"group":"For Customers","pages":[{"title":"Customer Portal","href":"/v3-beta/docs/customers/customer-portal"},{"title":"Why Did Suby Charge Me?","href":"/v3-beta/docs/customers/why-did-suby-charge-me"},{"title":"How to Cancel a Subscription","href":"/v3-beta/docs/customers/how-to-cancel-a-subscription"}]},{"group":"Legal","pages":[{"title":"Privacy Policy","href":"/v3-beta/docs/legal/privacy-policy"},{"title":"Compliance","href":"/v3-beta/docs/legal/compliance"},{"group":"Terms \u0026 Conditions","pages":[{"title":"Terms \u0026 Conditions - PayFac","href":"/v3-beta/docs/legal/terms-and-conditions-PayFac"},{"title":"Terms \u0026 Conditions - Merchant Of Record","href":"/v3-beta/docs/legal/terms-and-conditions-MoR"},{"title":"Terms \u0026 Conditions - Buyer","href":"/v3-beta/docs/legal/terms-and-conditions-buyer"}]}]}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/v3-beta/docs/guides/discord/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/v3-beta/api-reference/overview"}]}]}]},"title":"Fraud Prevention System - Suby.fi","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":[],"chunks":[]}