Skip to content

TRUST & LEGAL

Your evidence, data, and responsibilities

Security practices, privacy terms, and service terms are kept together so the commitments that matter are not scattered across the site.

Security and data protection

Last updated 8 September 2026

What we ask for

The normal Stripe import connector uses a restricted key with read access to Disputes, Charges and Customers; every import request is a GET. Submission uses a separate restricted credential. Test mode accepts rk_test_. Live mode is disabled by default and accepts rk_live_ only when the server gate and exact user-and-Stripe-account allowlist both match. Full sk_ keys are always rejected.

You can work without any connection at all: manual entry and file upload cover every field.

How credentials are stored

Connector secrets are sealed with AES-256-GCM using a key held only in server environment configuration, and the ciphertext, nonce and auth tag are stored separately from the app. The plaintext is never returned to the browser, never logged, and never included in a data export — only a masked hint like rk_••••1234 is shown so you can tell which key is stored.

Disconnecting an unused connection deletes the row and its credential material together. A connection referenced by a test-submission audit record can instead be revoked, which erases its credential while preserving the audit link.

Tenant isolation

Every table is row-level-secured on the owning user id, and object storage paths are namespaced by user id with policies that match the first path segment against the caller. Server routes that use the service role scope every query to an already-authenticated user id.

API keys are stored only as a SHA-256 hash. The plaintext key is shown once at creation and cannot be recovered afterwards — revoke and create a new one instead.

What we do with your evidence

Nothing beyond assembling the pack you asked for. Evidence is not used to train models. The only outbound call that carries case content is the optional rebuttal-statement draft, which sends the evidence ledger to the configured model provider and is off unless you ask for it.

Export everything as JSON at any time from Settings → Data. Delete everything — cases, evidence, stored files and packs — from the same screen.

Uploads and rate limits

Uploads are capped at 10 MB per file and restricted to the formats the processor accepts (PDF, JPEG, PNG); anything else is rejected before it reaches storage. Write endpoints are rate limited per account, and the pack generator is limited separately.

Webhook traffic from Stripe is signature-verified before it is parsed, and every event id is claimed once so a replay cannot double-apply a subscription change or double-credit an account.

What we have not done yet

Rebuti has no third-party security audit, no SOC 2 report and no penetration test. The rate limiter is in-process, which is adequate for a single node and would need a shared store before running several. Saying so here is more useful than a badge.

Privacy

Last updated 8 September 2026

What we collect

Account details you give us: email, name and optional company name. Case content you create or import: dispute identifiers, order references, customer names and addresses, delivery records, policy documents and any file you upload. Operational records: which pages and endpoints you used, when packs were generated, and errors raised by the service.

We do not run advertising trackers and we do not sell or share your data with data brokers.

Why we hold it

To assemble the evidence packs you ask for, to enforce plan limits, to bill you, and to keep the service working. Case content is retained for the retention window of your plan, then it is yours to keep or delete — deletion is available at any time from Settings → Data.

Who it reaches

Our hosting and database provider stores it. Stripe receives your email and billing details for payments. Stripe receives case content only if you explicitly run the separate submission workflow after its dry run and dispute-specific confirmation. Live submission is disabled unless the server gate and exact user-and-account allowlist permit it. If you use the optional rebuttal-statement draft, the evidence ledger for that one case is sent to the configured model provider; both optional features are off unless you trigger them.

Your evidence is never used to train models, ours or anyone else’s.

Personal data about your customers

A dispute case necessarily contains information about the cardholder. You are the controller of that data and you are responsible for having a lawful basis to process it. We act on your instructions, hold it no longer than your plan’s retention window, and delete it when you tell us to.

Your controls

Export everything as JSON, including Stripe test-submission audit attempts, or delete your account content from Settings → Data. Disconnecting an unused data connection deletes its credential; revoking a connection used by an audit attempt erases the credential while preserving that record. Revoking an API key takes effect immediately.

Contact

Questions or a deletion request: reach us through the address on your account.

Terms

Last updated 8 September 2026

What the service does

Rebuti assembles chargeback evidence packs from records you supply or connect and does not guarantee any dispute outcome. Submission is never automatic. Its separate Stripe workflow requires a fresh dry run, frozen evidence fingerprint and dispute-specific confirmation; live mode also requires a server feature gate and an exact user-and-account allowlist.

The checklist follows guidance published by Stripe and PayPal. Those requirements change without notice; you are responsible for confirming what your processor requires before you file.

Not legal or financial advice

Nothing in the product or its documentation is legal advice, financial advice, or a representation about card-network rules. Statements we attribute to a processor are quoted from that processor’s own documentation with a source link and a date.

Your responsibilities

You confirm you have the right to process the customer data you put into a case. You review every pack before you submit it, and you are responsible for the accuracy of what you file under your own name.

Do not use the service to fabricate records, to misrepresent a transaction, or to submit evidence you know to be false.

Billing

Plans bill monthly through Stripe and renew until cancelled. Cancel from the customer portal at any time; access continues to the end of the period you have paid for. Pack credits do not expire and are refundable while unused. Refunding a credit purchase reverses the credits.

Availability and liability

The service is provided as is. We do not warrant uninterrupted availability. To the extent the law allows, our liability is limited to the amount you paid us in the twelve months before the claim. Nothing here limits liability that cannot lawfully be limited.

Trademarks

Stripe, PayPal, Shopify, WooCommerce, Visa and Mastercard are trademarks of their respective owners. Rebuti is an independent tool and is not affiliated with, endorsed by, or certified by any of them.