Skip to content
AlpineDataWorks.AI
Last updated · 2026-07-19

Security at AlpineDataWorks.AI

Built for agents, hardened for the buyer that pays for them. This page is deliberately honest about what is shipped today, what is on the roadmap with dates, and how to reach us if you find something wrong.

No fake compliance badges, no aspirational claims — only what we can show you in the code, the logs, and the deploy history.

Live in production

What is true today

Specific, verifiable controls. The kind of detail a competent security team wants to see before they will whitelist a vendor.

TLS 1.3

All traffic encrypted via Cloudflare-managed certificates with automatic rotation. No plain-HTTP fallback.

API keys: SHA-256 hashed at rest

Only the hash is stored — we never keep your raw key. Verified by constant-time hash lookup; shown once at creation, never echoed in logs or responses.

MCP data access is key-gated & metered

Every agent/tool call is authenticated, attributed to your account, and billed against your balance. No anonymous data access; unauthenticated calls are rejected with an OAuth challenge.

IP-free agent discovery logging

When agents/connectors discover the catalog, we record a coarse country code + truncated user-agent — not the raw IP. (Short-lived abuse and analytics logs may include the Cloudflare-provided IP; see data handling below.)

Passwords: PBKDF2-HMAC-SHA256

100,000 iterations, per-user salt, never stored in plaintext, never logged. Constant-time comparison.

Sessions: HMAC-signed cookies

32-byte random IDs, HttpOnly + Secure + SameSite=Lax. Server-side session table is the source of truth.

Sign-in OAuth: Google + GitHub

Real OAuth 2.0 with signed-state CSRF protection. Email-verified flag required before account activation.

Email verification gated

No API keys, no data calls, no billing actions until your email is verified — gate enforced server-side on every authed endpoint.

Continuous self-probing

The MCP revenue path is health-probed every ~10 minutes and the security posture (auth gates, webhook signature, headers) hourly. Failures alert the founder within minutes.

Rate limiting at the edge

Per-account daily quotas plus Cloudflare-edge rate limiting. KV-backed counters with deterministic reset windows.

Secrets in encrypted secret store

Session-signing key, Stripe secret + webhook secret, email key — all in Cloudflare Workers encrypted secrets, injected at runtime. No secrets committed to source.

Agent connectors

How agents connect (OAuth for Claude Connectors)

Agents connect to AlpineDataWorks over the Model Context Protocol using OAuth 2.1. This capability is in controlled rollout behind a feature flag; the controls below are how it is built.

OAuth 2.1 + PKCE (S256)

Authorization-code flow with mandatory PKCE S256 — a downgraded or missing code-challenge is rejected. Public-client tokens are never issued without proof-of-possession.

Login-gated, anti-phishing consent

You must be signed in to approve a connector. The consent screen surfaces the exact destination the token is sent to (app names are self-asserted, so we show the real redirect origin) and the credits it can spend.

Isolated, encrypted grant store

OAuth grants and access tokens live in a dedicated Cloudflare KV namespace owned by the OAuth provider (encrypted at rest), separate from account data. Grants are revocable from your User Hub.

Metered like any key

A connector call is authenticated to your account and billed exactly like an API key you create yourself — tier limits and credit metering apply. Nothing bypasses billing.

Sub-processors

Who runs what

We do not run our own servers. Everything sits on managed, audited infrastructure. This is our complete list of sub-processors and the data each one handles.

Sub-processor Purpose Data handled
Cloudflare Workers Edge compute, no origin server to attack. US-region processing. Request processing
Cloudflare D1 Managed SQLite, encrypted at rest. Accounts, sessions, hashed keys, usage ledger, intelligence data
Cloudflare KV Encrypted at rest. Two isolated namespaces: rate-limit counters (no PII) and the OAuth-provider grant store. Rate-limit counters · OAuth grants/tokens
Cloudflare R2 Object storage, encrypted at rest. Generated data extracts
Stripe PCI Service Provider Level 1. We never see or store card data — checkout and card handling stay on Stripe. Billing (card data never touches us)
Resend Transactional email only (signup, password reset, magic links, alerts). Email address
Google / GitHub Optional OAuth 2.0 sign-in. We receive only your verified email + name. Sign-in identity (opt-in)

This list is current as of the date at the top of this page and updated whenever a sub-processor is added or removed.

Roadmap

Coming next

Dated commitments, not vague intentions. If a date slips, this page gets updated.

In progress

MCP OAuth GA hardening

Before Claude Connectors OAuth is generally enabled: per-user rate-limit + quota on the OAuth path, grant-revocation enforcement in the data path, and legacy-key coexistence. Currently in dark-launch behind a feature flag.

Q3 2026

MFA / 2FA

TOTP-based two-factor with backup codes for all accounts.

Q4 2026

Audit log export

Account owners can export their full activity log (logins, key creates, API calls, connector grants).

On first enterprise deal

SOC 2 Type I readiness

We document our controls now and start the formal SOC 2 audit process when a customer's procurement requires it.

Enterprise plans

SAML / SCIM SSO

Single sign-on and provisioning for organizations with their own identity provider.

Responsible disclosure

Found a vulnerability?

Email security@alpinedataworks.com with details and reproduction steps. Our commitments:

  • Acknowledgement within 2 business days
  • Status update every 7 days until resolved
  • Public credit on this page if you would like it
  • No paid bounty yet — we credit researchers publicly and recognize every report.

Please do not test by attacking other users' data, accounts, or infrastructure. Demonstrating impact on a test account you control is sufficient. Machine-readable contact: /.well-known/security.txt (RFC 9116).

Data handling

What we collect and what we do not

We collect

  • Email address
  • Hashed password (only if you set one — OAuth-only users skip this)
  • Profile fields you provide at signup (company, role, use case)
  • API / connector usage counters and a per-account credit ledger
  • Connector grants you approve (revocable any time from your User Hub)
  • A coarse country code + truncated user-agent on agent discovery
  • The Cloudflare-provided IP in short-lived abuse / analytics logs (not on the agent discovery log)
  • Stripe customer ID (only if you upgrade to a paid plan)

We do not collect

  • Card or financial data (Stripe handles all billing)
  • A raw client IP on the agent/connector discovery log (country only)
  • The contents of your API queries beyond usage metadata
  • Browsing behavior or cross-site tracking
  • Anything we do not need to run the service

Retention & deletion

Account data lives until you delete your account. Usage counters roll up daily and are pruned after 90 days. You can request a full data export or hard deletion at any time by emailing privacy@alpinedataworks.com.