Make login user-friendly and consistent
Keep sign-up, sign-in, recovery, loading, and failure states consistent across every ITZApp. Let network identity work underneath a familiar experience.
These are practical conventions, not rules. Use them to make your ITZA application feel natural to ordinary users while keeping its identity, data, and network behavior clear.
Keep sign-up, sign-in, recovery, loading, and failure states consistent across every ITZApp. Let network identity work underneath a familiar experience.
When an app needs an asset, contract, rent, or feature wallet, derive and label it through one predictable convention so users can understand what it is for.
Use E2E for private conversations and sensitive user content. Explain what is encrypted, who holds the keys, and what recovery means before collecting data.
Separate public app state, customer-owned data, secrets, credentials, and regulated information. Never place private keys or raw recovery phrases in application data.
For services such as reCAPTCHA, email, analytics, or an external API, keep secrets on a controlled server boundary and let the contract verify only the result it needs.
Estimate and validate before submission. Show users what will happen, what it costs, which wallet pays, and how they can recover from a failure.
Validate inputs, return clear errors, and represent wallet changes, transfers, and storage effects explicitly in the contract result.
Files, SQL, contract storage, and application objects have different lifecycles. Choose the right owner and rent wallet before the product grows.
A polished app explains success, insufficient balance, invalid signatures, rejected permissions, offline states, and retry behavior.
Cache safe, non-authoritative app state locally for fast startup and responsive interfaces. Treat it as a convenience cache, never as the source of truth for balances, ownership, permissions, or contract state.