Skip to content

Security and reliability

ChannelForge publishes as you on the platforms you connect. This is how it protects your accounts, your channels and your content — and how it keeps publishing when something breaks.

Network and transport

Traffic is encrypted all the way, and the servers can only be reached through Cloudflare.

  • TLS end to end: from your browser to Cloudflare, and from Cloudflare to our origin with a Cloudflare origin certificate.
  • The origin accepts HTTPS only from Cloudflare’s IP ranges, so it can’t be reached around the edge.
  • HTTP Strict Transport Security (HSTS) keeps browsers on HTTPS.
  • The app sends a strict Content-Security-Policy with a fresh nonce on every request, and frame-ancestors none, so no other site can frame it.

Accounts and sessions

Sign-in is protected in layers: strong hashing, a second factor and sessions you control.

  • Passwords are hashed with argon2id using OWASP-recommended parameters.
  • Two-factor authentication with any TOTP authenticator app, plus one-time recovery codes.
  • Sessions are stored server-side as hashes, rotated on every sign-in and revocable from your settings.
  • Sign-in, signup and the API are rate limited.

Access control

People see what their role allows, and workspaces never see each other.

  • Role-based access in every workspace: owner, admin, editor and viewer.
  • Every database query is scoped to the workspace it belongs to.
  • CSRF tokens and Origin checks on every change.
  • An audit log records security- and billing-relevant actions.

Data protection

Secrets are sealed, storage is private, and the service is hosted in the EU.

  • OAuth tokens for the platforms you connect, and every other secret, are sealed with AES-256-GCM at rest.
  • The database (AWS Aurora) is encrypted at rest and runs on a private network, with automated backups and point-in-time recovery over the last 7 days.
  • Media lives in a private S3 bucket and is served only through short-lived signed URLs.
  • Hosted in AWS eu-central-1 (Frankfurt), behind Cloudflare.

Isolated generation

The machines that render your episodes are given as little as possible.

  • Each generation job runs in its own isolated workspace, under its own unprivileged user, on the GPU machine.
  • Jobs never hold our cloud or model credentials.
  • Model calls go through our metering gateway with a per-job, budget-capped token, so a job can’t spend beyond its budget.

Payments

Card details never touch our servers.

  • Payments are handled by Stripe and PayPal on their own pages. We never see or store card numbers.

Reliability

Publishing keeps going when a platform or a job has a bad moment.

  • A self-healing scheduler watches every publishing slot and catches up any slot that was missed.
  • Failed uploads are retried safely: a post is never published twice.
  • GPU work is queued with fair-share scheduling, and every job reports live progress.
  • Episodes that fail a quality gate go back for fix rounds instead of going out.

Reporting a vulnerability

If you believe you’ve found a security issue, email support@storeswiki.com with what you found and the steps to reproduce it. Please test only against your own workspace, don’t access or change data that isn’t yours, and give us a reasonable chance to fix the issue before you share it publicly. We’ll confirm we received your report and keep you updated while we work on it.

Related: sub-processors, Privacy Policy and system status.