# Class Hardening

java.lang.Object
com.codename1.security.hardening.Hardening

public final class Hardening extends Object

Read-only reporting of whether this build was hardened, and with what.

App Hardening is an Enterprise, build-server transform: it renames classes, encrypts strings and obfuscates control flow in the shipped binary across every port. This class does not perform any of that -- it only reports what the build server stamped into the app, so app code (and the crash reporter) can tell an honestly-hardened build apart from an unhardened one such as a local or simulator build.

The values are stamped as display properties by the build; in the simulator and in local builds they report `false` / `"off"`, because those are never obfuscated.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static String`
  `getLevel()`
  The hardening level the build shipped with.
  `static String`
  `getMappingId()`
  The id of the obfuscation mapping this build was hardened with, matching the mapping the build server retained for crash symbolication.
  `static boolean`
  `isHardened()`
  Whether the shipped binary was hardened.

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### isHardened

    public static boolean isHardened()
    Whether the shipped binary was hardened. Always `false` in the simulator and in local or source-project builds, which are never obfuscated.
    Returns:
      true if the build server applied hardening to this build

  - ### getLevel

    public static String getLevel()
    The hardening level the build shipped with.
    Returns:
      one of `"off"`, `"standard"`, `"aggressive"`, `"paranoid"`

  - ### getMappingId

    public static String getMappingId()
    The id of the obfuscation mapping this build was hardened with, matching the mapping the build server retained for crash symbolication. Empty when the build was not hardened.
    Returns:
      the mapping id, or an empty string