How can channel policy be missing? I randomly stumbled upon an example of a channel for which one of the two sides does not have a channel policy. What could be the reason for that? For example, lncli getchaninfo 620048691895336960 returns this (and node1_policy here is null):

{
    "channel_id": "620048691895336960",
    "chan_point": "4857421490e50d3ffed1e31346c8cc56f229f70ad93d800d647db794cc09bb59:0",
    "last_update": 1550695804,
    "node1_pub": "03b9c09d8522d6d6ca3c4fe3e635b65e962fade78437ef2ac46f37df4c0119aa03",
    "node2_pub": "03bb88ccc444534da7b5b64b4f7b15e1eccb18e102db0e400d4b9cfe93763aa26d",
    "capacity": "2000000",
    "node1_policy": null,
    "node2_policy": {
        "time_lock_delta": 144,
        "min_htlc": "1",
        "fee_base_msat": "0",
        "fee_rate_milli_msat": "1",
        "disabled": false
    }
}


If that is relevant, node1 here runs eclair, and node2 runs lnd.
Each channel participant sets their own policy for forwarding HTLCs through the channel. They broadcast a channel_update message containing the policy, which is received and forwarded over the gossip network, and also received by the channel's counter party. The channel_update has a bit flag indicating whether the update belongs to node1 or node2.

A missing policy could mean that one party has not yet broadcast any policy, or that you've missed the broadcast message if you went offline at some point. In the latter case, your node should be able to query the policy over the gossip network with a query_short_channel_ids message.

If it is one of your own channels, it may just be that the channel is private and your node sets a policy regardless of whether or not the node is announced. I'm not sure about the specifics of any implementation in that regard.