A (1 + ϵ)-spanner for a doubling metric (X, δ) is a subgraph H of the complete graph corresponding to (X, δ), which preserves all pairwise distances to within a factor of 1 + ϵ. A natural requirement from a spanner, which is essential for many applications (mainly in distributed systems or wireless networks), is to be robust against vertex and edge failuresso that even when some vertices and edges in the network fail, we still have a (1 + ϵ)-spanner for what remains. TheIn this paper we devise an optimal construction of faulttolerant spanners for doubling metrics: For any n-point doubling metric, any ϵ > 0, and any integer 1 ≤ k ≤ n − 2, our construction provides a k-fault-tolerant (1 + ϵ)-spanner with optimal degree O(k) within optimal time O(n log n + kn).We then strengthen this result to provide near-optimal (up to a factor of log k) guarantees on the diameter and weight of our spanners, namely, diameter O(log n) and weight O(k 2 + k log n) · ω(M ST ), while preserving the optimal guarantees on the degree O(k) and the runtime O(n log n + kn).Our result settles several fundamental open questions in this area, culminating a long line of research that started with the STOC'95 paper of Arya et al. and the STOC'98 paper of Levcopoulos et al.On the way to this result we develop a new technique for constructing spanners in doubling metrics. In particular, our spanner construction is based on a novel hierarchical cover of the metric, whereas most previous constructions of spanners for doubling and Euclidean metrics (such as the net-tree spanner) are based on hierarchical partitions of the metric. We demonstrate the power of hierarchical covers in the context of geometric spanners by improving the stateof-the-art results in this area.