We consider the bilinear inverse problem of recovering two vectors, x and w , in R L from their entrywise product. For the case where the vectors have known signs and belong to known subspaces, we introduce the convex program BranchHull, which is posed in the natural parameter space that does not require an approximate solution or initialization in order to be stated or solved. Under the structural assumptions that x and w are members of known K and N dimensional random subspaces, we present a recovery guarantee for the noiseless case and a noisy case. In the noiseless case, we prove that the BranchHull recovers the vectors up to the inherent scaling ambiguity with high probability when L ≫ 2 ( K + N ) . The analysis provides a precise upper bound on the coefficient for the sample complexity. In a noisy case, we show that with high probability the BranchHull is robust to small dense noise when L = Ω ( K + N ) .