# dnspls-domain
Canonical domain identity primitives for DNSpls.
The crate performs strict IDNA conversion, DNS host-label validation, lowercase
ASCII canonicalization, and Public Suffix List boundary interpretation. PSL
output is parsing data only and never an availability claim.
```rust
use dnspls_domain::{BoundaryStatus, DomainName};
let domain = DomainName::parse("www.Example.co.uk.")?;
let identity = domain.identity();
assert_eq!(domain.as_ascii(), "www.example.co.uk");
assert_eq!(identity.boundary_status(), BoundaryStatus::Known);
# Ok::<(), dnspls_domain::DomainNameError>(())
```