Package 

Class Kaidn.Report


  • 
    public final class Kaidn.Report
    
                        

    What one collection found, and whether it reached us.

    • Method Detail

      • getDeviceId

         final String getDeviceId()

        sha256(ssaid + publishable key), or null when no usable SSAID existed

      • getMediaDrmId

         final String getMediaDrmId()

        The other two anchors, hashed the same way. Sent alongside deviceId rather than collapsed into it: which anchors agree and which differ is itself evidence (a fresh SSAID against a stable Media DRM id is a factory reset), and that is lost the moment they are merged on device.

      • getHardwareProfile

         final String getHardwareProfile()

        Rung 3: a cohort key over the stable hardware components, or null when too little was readable. ⚠️ NOT an identity. Identical hardware hashes identically by design, so a shared profile means "the same model", not "the same device". See Hardware.kt.

      • getAttested

         final Boolean getAttested()

        a Google-signed integrity verdict was obtained and sent

      • getError

         final String getError()

        why it was not delivered, when it was not

      • getHttpStatus

         final Integer getHttpStatus()

        HTTP status the API answered with, or 0 if the request never got that far (DNS, TLS, timeout, cleartext refusal).

        Carried because during integration the status IS the diagnosis and the error string alone is not: 401 means the publishable key is wrong, 403 means the tracker does not list this package, 400 means the payload no longer matches the server schema. Those need three different fixes and they are indistinguishable without this.