We develop a novel design framework for resource sharing among self-interested players, who adjust their resource usage levels to compete for a common resource. We model the interaction among the players as a repeated resource sharing game with imperfect monitoring, which captures four unique features of the considered interaction. First, the players inflict negative externality to each other due to the interference/congestion among them. Second, the players interact with each other repeatedly because of their long-term coexistence in the system. Third, since the players are decentralized, they are selfish and aim to maximize their own long-term payoffs from utilizing the resource rather than obeying any prescribed sharing rule. Finally, the players are informed of the interference/congestion level through a binary feedback signal, which is quantized from imperfect observation about the interference/congestion level.We first characterize the set of Pareto optimal operating points that can be achieved by deviation-proof resource sharing policies, which are policies that the selfish players find it in their self-interests to comply with. Next, for any given operating point in this set, we show how to construct a deviation-proof policy to achieve it. The constructed deviation-proof policy is amenable to distributed implementation, and allows players to use the resource in an alternating fashion. In the presence of strong negative externality, our policy outperforms existing resource sharing policies that dictate constant resource usage levels by the players. Moreover, our policy can achieve Pareto optimality even when the players have imperfect binary feedback, as opposed to existing solutions based on repeated game models, which require a large amount of feedback. The proposed design framework applies to many resource sharing systems, such as power control, medium access control (MAC), and flow control.