Process anonymity has been studied for a long time. Memory anonymity is more recent. In an anonymous memory system, there is no a priori agreement among the processes on the names of the shared registers they access. As an example, a register named A by a process p and a shared register named B by another process q may correspond to the very same register X, while the same name C may correspond to different register names for the processes p and q. This article introduces the fully anonymous model, namely a model in which both the processes and the registers are anonymous. A fundamental question is then "is this model meaningful?", which can be translated as "can non-trivial fundamental problems be solved in such a very weak computing model?" This paper answers this question positively. To this end, it shows that mutual exclusion, consensus, and its weak version called set agreement, can be solved despite full anonymity, the first in a failure-free system, the others in the presence of any number of process crashes. More precisely, the paper presents three fully anonymous algorithms. The first one is an n-process deadlock-free mutual exclusion algorithm which assumes read/modify/write registers. The model parameter m defining the size of the anonymous memory (number of registers), the paper also shows that m ∈ M (n) = { m such that ∀ ℓ : 1 < ℓ ≤ n: gcd(ℓ, m) = 1} is a necessary and sufficient condition for the existence of such an algorithm. Considering the same model in which any number of processes may crash, an n-process wait-free consensus algorithm is presented. Finally, considering full anonymity and weaker registers (namely, read/write registers) an obstruction-free set agreement algorithm is presented. As far as we know, this is the first time full anonymity is considered, and where non-trivial concurrency-related problems are solved in such a strong anonymity context.