title: Does an iBeacon have to use Apple's company ID? If not, how to identify an iBeacon?
body: <p>According to the <a href="https://developer.apple.com/ibeacon/" rel="nofollow noreferrer">iBeacon spec</a>, iBeacons have to broadcast 0x004C as the company ID in the advertisement's manufacturer data. <code>0x004c</code> is <a href="https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers" rel="nofollow noreferrer">Apple's company ID as assigned by the Bluetooth SIG</a>. </p>
  
  <p>I'm confused by this because other than the company ID, there doesn't seem to be any other data that definitively identifies a BLE device as an iBeacon. The next two bytes fixed to 0x02 and 0x15 and the rest is configuration dependent.</p>
  
  <p>At one point I figured that if the first four bytes of the mfg data are <code>0x4c 0x00 0x02 0x15</code>, then it is an iBeacon. Then, I found iBeacons that used other company ID's. I have Nordic Semiconductor iBeacon samples, for example, that use <code>0x59 0x00</code>, which is Nordic's company ID.</p>
  
  <p>Even if I look to make sure the <code>0x02</code> and <code>0x15</code> are where they are, and that the device is unconnectable, and the mfg data is the exact length, this doesn't seem to be definitive.</p>
  
  <p>How to definitively identify an iBeacon?</p>