Independent reviews. IonBin has no partnerships with the tools on this page and was not paid for these listings. Our evaluations are our own, based on public documentation and our research. Product names are trademarks of their owners and are used for identification only. How disclosure works.

Action and feedback

Postel's Law and input boundaries

Help people enter valid information while keeping the system's accepted meanings explicit.

Engineering principle

Source review

How to read the evidence

The idea in plain language

What it means.

The robustness principle comes from network protocol engineering. Applied carelessly, accepting unexpected input can conceal bugs or create incompatible interpretations. In forms, tolerate harmless presentation differences only when normalization is unambiguous. Validate the resulting value against an explicit contract and communicate failures clearly.

Evidence and interpretation

What supports it.

Engineering principle

Historical protocol guidance in RFC 1122, qualified by the IAB's RFC 9413 discussion of robust protocol maintenance. Friendly forms and consistent UI states are design applications, not permission to relax trust boundaries.

From principle to interface

Where you could use it.

Proposed applications, not tested outcomes. The expected effects are hypotheses to check with realistic tasks and users.

Application 1

Accept a formatted reference number

Allow spaces in a reference number where the documented format treats spaces as insignificant, then validate its length and permitted characters on the server.

Expected effect to test

People can paste a readable value without changing its defined meaning.

Keep in view

Do not apply this normalization to passwords, signatures or identifiers whose exact bytes matter.

Application 2

Resolve an ambiguous date

When 03/04/2027 could mean two dates, show the expected format or ask the person to choose the intended date, then echo the resolved date in words.

Expected effect to test

The person and the system agree on the stored meaning.

Keep in view

Never silently guess a consequential date. API unknown-field handling must follow the versioned schema and extension policy.

Turn the idea into a check

Use it deliberately.

  • Separate parsing, documented normalization and validation.
  • Validate untrusted input on the server and use the appropriate output encoding and parameterized data access.
  • Define success, pending and failure states consistently, and preserve safe input for correction.

Where the rule gets complicated

Keep the limits attached.

  • Permissive parsing is not a security strategy.
  • Input validation alone does not prevent every injection or authorization flaw.
  • RFC 9413 warns that lax interpretation and hidden variation can undermine interoperability and security; strictness should follow explicit specifications.

A named principle does not settle an accessibility requirement, prove a conversion lift or replace testing the particular interface.

Application and implementation boundaries

What the application check shows.

Limited evaluationAccount-free ·

The local example accepted only documented ASCII-space normalization for a six-digit reference, rejected invalid or ambiguous dates, preserved exact-value spaces and rendered markup-like input as text.

Methods: Local application example. A completed check covers the stated sample; it is not a safety certification.

Target
Original IonBin synthetic interface example; no external product or human-participant study.
Version or capture
2026-10-19 local fixture
Integrity scope
SHA-256 f85d1056afd667225a1e0364edfb8f25b4693ffa7b2b8c7d7af5b92338b85ee4 identifies the exact HTML fixture only.

Test conditions

  • 155.0.8059.82 Chromium; fresh context with all network requests blocked.
  • Synthetic inputs, memory-only state, reduced-motion preference, 1280px and 320px viewports.

Individual checks and observations

  1. Inert text

    pass

    Local application example: Exercise the original local application fixture and inspect the resulting controls or DOM state.

    Observed: Markup-like synthetic input stayed literal text; no image element or handler was created.

  2. Accept ASCII spaces in a reference

    pass

    Local application example: Exercise the original local application fixture and inspect the resulting controls or DOM state.

    Observed: "12 34 56" was accepted after ASCII-space normalization by the six-ASCII-digit contract.

  3. Reject a short reference

    pass

    Local application example: Exercise the original local application fixture and inspect the resulting controls or DOM state.

    Observed: "12345" was rejected by the six-ASCII-digit contract.

  4. Reject a long reference

    pass

    Local application example: Exercise the original local application fixture and inspect the resulting controls or DOM state.

    Observed: "1234567" was rejected by the six-ASCII-digit contract.

  5. Reject full-width digits

    pass

    Local application example: Exercise the original local application fixture and inspect the resulting controls or DOM state.

    Observed: "123456" was rejected by the six-ASCII-digit contract.

  6. Reject a tab in the reference

    pass

    Local application example: Exercise the original local application fixture and inspect the resulting controls or DOM state.

    Observed: "12\t3456" was rejected by the six-ASCII-digit contract.

  7. Reject markup as a reference

    pass

    Local application example: Exercise the original local application fixture and inspect the resulting controls or DOM state.

    Observed: "<script>" was rejected by the six-ASCII-digit contract.

  8. Accept an ISO-format date

    pass

    Local application example: Exercise the original local application fixture and inspect the resulting controls or DOM state.

    Observed: 2027-03-04 was accepted.

  9. Reject an ambiguous date

    pass

    Local application example: Exercise the original local application fixture and inspect the resulting controls or DOM state.

    Observed: 03/04/2027 was rejected as ambiguous or invalid.

  10. Reject an impossible date

    pass

    Local application example: Exercise the original local application fixture and inspect the resulting controls or DOM state.

    Observed: 2027-02-30 was rejected as ambiguous or invalid.

  11. Exact value

    pass

    Local application example: Exercise the original local application fixture and inspect the resulting controls or DOM state.

    Observed: The exact-value example retained leading/trailing spaces; reference normalization was not reused.

Security findings and boundaries

Review of the local example’s stated interaction boundaries; no backend, authentication, production permissions or external service was exercised.

Practical advice · caution

Normalization is not an injection defense

These synthetic checks do not test a backend. Real systems need server validation, context-appropriate encoding, parameterized access and independent authorization.

Practical caveats

  • Define normalization field by field. Do not trim passwords, signed values or identifiers whose exact bytes carry meaning.

What remains untested

  • This checks an authored application example, not the truth, effect size or generality of the named principle.
  • No users, assistive-technology participants, physical devices or production task outcomes were evaluated.

Security limits

  • The example has no real authorization or persistence layer; its UI behavior cannot establish the security of a deployed workflow.

Evaluation sources

  1. RFC 1122, section 1.2.2: Robustness Principle

    Historical protocol context.

  2. RFC 9413: Maintaining Robust Protocols

    IAB qualifications, active maintenance and security concerns.

  3. OWASP: Input Validation Cheat Sheet

    Validation boundaries and related controls; guidance, not a security evaluation of a product.

Download this evaluation record (JSON)

Go to the source

Research and further reading.

  1. RFC 1122, section 1.2.2: Robustness Principle

    Historical protocol context.

  2. RFC 9413: Maintaining Robust Protocols

    IAB qualifications, active maintenance and security concerns.

  3. OWASP: Input Validation Cheat Sheet

    Validation boundaries and related controls; guidance, not a security evaluation of a product.

Related questions

More on action and feedback.

View this concern