Security · Commercial preview
What is enforced, and what is not claimed.
Chudware is in commercial preview. This page describes the controls that exist in the running service today, states precisely what each one refuses to delegate, and is equally explicit about the assurances Chudware has not earned yet.
- Ingress
- Single tunnel to a loopback-bound gateway
- Isolation
- Per-account file roots, enforced above the engine
- Credentials
- Memory-hard password hashing, server-side sessions
Request path
One ingress, one place where identity is decided.
The browser workspace is the whole application running in your tab, not a video stream of a machine in a data centre, and it reaches the engine over a single long-lived connection. Every call behind that connection still passes the same gateway, which replaces whatever identity the client claims with the one it verified.
Controls in the running service
Five things the gateway refuses to delegate.
- 01
Proving who is calling
every request · every live connectionIdentity is decided once, ahead of everything else, and the same check covers an ordinary page request and the live engine connection alike — the engine connection is authenticated exactly as a page load is, with no second, weaker path beside it. A signed-in customer session is the front door; the operator's admin surface sits behind a separate identity, verified independently of any customer session and scoped to that surface only. Public paths are matched exactly or as a real subpath, never as a shared string prefix, so no URL can be crafted to look public by prefix.
- 02
Storing credentials
passwords · sessions · email linksPasswords go through a deliberately slow, memory-hard hash — the kind chosen to make offline guessing expensive — not a fast general-purpose digest. Sessions are database rows rather than self-contained signed cookies, so suspending an account ends its live sessions on the next request. Email verification and password-reset links are single-use, stored only as a digest, and minted against a closed set of purposes: a verification link cannot be redeemed as a password reset.
- 03
Deciding what an identity may do
account state · roleAuthentication and authorization are separate answers. An account is pending, active, denied, or suspended; only an active account has any rights at all. New accounts are always created pending with the plain user role, and the administrator role can only be granted through the admin API — never self-assigned, never inferred from a token the client supplies.
- 04
Keeping tenants apart
file paths · engine callsEach account gets its own workspace and bucket tree, and every file API resolves paths under the caller's own root. On the engine bridge, the client's claimed identity is overwritten with the verified one, and any remote call naming an absolute path outside the caller's roots is rejected outright. Provider-management calls are administrator-only, and credentials arriving from a browser are stripped before the call is forwarded.
- 05
Bounding the blast radius
rate limits · quotas · capsRate limits key on the authenticated account, never on a client-supplied value, so one account cannot spend another's budget. Sign-in attempts are throttled per address and per network before any password hashing happens, because a memory-hard hash is a denial-of-service amplifier if an attacker can spend it for free. Uploads carry a size cap, per-account storage is quota-checked, engine frames are capped, and a single account cannot fan out unlimited concurrent engine connections.
Parameters
The numbers behind those sentences.
Published because a security page full of adjectives is not checkable. These are the values the gateway runs with.
- Password hashing
- argon2id · t=3 · m=64 MiB · p=4
- Minimum password
- 12 characters
- Session
- Server-side row, revocable, sliding last-seen
- Session cookie
- HttpOnly · SameSite=Lax · Secure
- Email tokens
- Single use · SHA-256 at rest · purpose-bound
- Verify / reset lifetime
- 24 h / 1 h
- Sign-in throttle
- 5 per address · 20 per network / 15 min
- Engine frame cap
- 4 MiB
- Gateway binding
- Loopback only; tunnel is sole ingress
- Portal assets
- Content-hashed names, immutable caching
What is not claimed
Chudware holds no security certification of any kind.
The controls above are implemented and can be described precisely. Nothing below is implemented, and no amount of design intent substitutes for it. If a procurement checklist requires one of these, Chudware does not satisfy it today.
- No SOC 2, ISO 27001, or any other audit or certification. None has been started, and none is claimed.
- No third-party penetration test report to share.
- No bug bounty programme. Disclosure is by email, unpaid, and handled directly.
- No uptime or support SLA. Preview service, best effort.
- No published recovery objectives. Keep your own exports; do not treat Chudware as the only copy of a design.
- No regulated-data posture. Chudware is not offered for export-controlled, classified, or health data.
Why say this out loud
A trust page that implies an audit it has not had is worse than no trust page. Everything above is a gap, stated as a gap, so an evaluator can price the risk instead of discovering it later.
These entries will change only when the underlying work is actually done, in the same way pricing will publish rates only once they are ratified.
Responsible disclosure
Found something? Send it straight to a human.
Reporting
[email protected]- Describe the issue, the affected surface, and the impact you believe it has.
- Include the steps or request sequence needed to reproduce it.
- Test only against your own account and your own data. Do not access, modify, or retain another account's files.
- Give a reasonable window for a fix before publishing.
There is no reward programme and no formal response-time commitment; reports are read and answered by the team that writes the code. Privacy requests go to [email protected] instead, and account or billing problems to [email protected].
Next
Read the terms, or ask the specific question.
Data handling is covered in the privacy policy; anything a page does not answer can be sent to a person.