Weft

Security

We're Weft. We're a small team and we're transparent about exactly what we do. No SOC 2 yet — here's what's actually in place today.

Tenant isolation

Every tenant-rooted database table carries an org_id with a NOT NULL constraint and a leading-org_id composite index. A SQLAlchemy event hook injects org_id = current_org_id into every SELECT, UPDATE, and DELETE; admins can opt out for cross-org operations behind an explicit unscoped() guard. Sub-account access is further scoped per shop with the same hook. Integration tests prove cross-tenant queries return zero rows.

Auth

Data

Hosted mail

Webhooks

Stripe, Shopify, and Slack webhooks are all HMAC-verified against the raw request body. Replay window of 5 minutes on Slack. Failed verifications never touch the database.

In transit

HTTPS only on app.weftforge.com. HSTS preload. CSP enforced. CSRF double-submit cookie on every state-changing route (webhooks exempt; HMAC instead).

Reporting an issue

Email [email protected]. We respond within 1 business day. Coordinated disclosure preferred.