A first proximity-based services server configured for facilitating restricted discovery of a user of an application, the first proximity-based services server comprising: a processor and communication interface operatively coupled and configured to: receive a request for a proximity-based services code; allocate a first proximity-based services code to a first user for a first application; and announce, to a set of other proximity-based services servers, existence of the first proximity-based services code allocated to the first user for the first application, wherein the first proximity-based services server is characterised in that the processor and communication interface are configured to: obtain authorization to access the first user's resources for the first application; communicate a list of associates from the first user's resources; receive an indication of a set of associates selected from the list of associates, wherein each associate in the set is permitted to discover the first user; receive, from a second proximity-based services server of the set of other proximity-based services servers, a request for the first proximity-based services code allocated for the first user, the request indicating a second user of the first application; and determine whether to communicate the first proximity-based services code to the second proximity-based services server, including to: compare the second user to the set of associates permitted to discover the first user; and communicate the first proximity-based services code to the second proximity-based services server when the second user is within the set of associates permitted to discover the first user. a processor and communication interface operatively coupled and configured to: receive a request for a proximity-based services code; allocate a first proximity-based services code to a first user for a first application; and announce, to a set of other proximity-based services servers, existence of the first proximity-based services code allocated to the first user for the first application, receive a request for a proximity-based services code; allocate a first proximity-based services code to a first user for a first application; and announce, to a set of other proximity-based services servers, existence of the first proximity-based services code allocated to the first user for the first application, wherein the first proximity-based services server is characterised in that the processor and communication interface are configured to: obtain authorization to access the first user's resources for the first application; communicate a list of associates from the first user's resources; receive an indication of a set of associates selected from the list of associates, wherein each associate in the set is permitted to discover the first user; receive, from a second proximity-based services server of the set of other proximity-based services servers, a request for the first proximity-based services code allocated for the first user, the request indicating a second user of the first application; and determine whether to communicate the first proximity-based services code to the second proximity-based services server, including to: compare the second user to the set of associates permitted to discover the first user; and communicate the first proximity-based services code to the second proximity-based services server when the second user is within the set of associates permitted to discover the first user. obtain authorization to access the first user's resources for the first application; communicate a list of associates from the first user's resources; receive an indication of a set of associates selected from the list of associates, wherein each associate in the set is permitted to discover the first user; receive, from a second proximity-based services server of the set of other proximity-based services servers, a request for the first proximity-based services code allocated for the first user, the request indicating a second user of the first application; and determine whether to communicate the first proximity-based services code to the second proximity-based services server, including to: compare the second user to the set of associates permitted to discover the first user; and communicate the first proximity-based services code to the second proximity-based services server when the second user is within the set of associates permitted to discover the first user.