Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 5 Nov 2026. What's built · Install 0.3.0
jadpo
ReferenceErrors

ErrorsStandard library · rule

type.password_hash_exposed

Password hash is sent, read from a request or put in a failure.

Area 19, Standard library; not declinable; the next step is usually the agent's.

A PasswordHash is stored and checked, and never leaves the server: an Output, a request's Input and a failure's fields refuse one, however deep, as json.write and json.read do. A client that needs to know whether a password is set is sent that instead.

example
type StaffName = Text {    max_length: 100}/// What the staff page shows of a member of staff.type StaffProfile = Output {    name: StaffName    hashed_password: PasswordHash}
jadpo checkcheck failed: 1 error, 1 file

error StaffProfile.hashed_password holds a password's hash

--> main.jadpo:8:22

  |8 |     hashed_password: PasswordHash  |                      ^^^^^^^^^^^^ sent to a client
reason
A PasswordHash is stored and checked with crypto.verify_password, and never leaves the server. A client never needs a password's hash, and anyone who gets one can guess passwords against it offline, at their own pace.
next
Remove hashed_password, and send what the client needs instead, such as whether a password is set (agent)
rule
type.password_hash_exposed
help
https://jadpo.dev/docs/errors/type.password_hash_exposed

Markdown for agents: /docs/errors/type.password_hash_exposed.md.Built from Jadpo main at aee2e8f.