A method for facilitating the exchange of constrained communications, the method comprising: receiving, from a first user at one or more processing elements , a plurality of constraints for a first constrained communication, wherein the plurality of constraints comprises a second user and a subject, the method further comprising accessing a subject list from a constraint database , wherein the subject list includes only a limited subset of subjects authorized by the second user; creating a first constrained communication record based on the plurality of constraints, wherein the first constrained communication record includes a data structure comprising a plurality of values, and wherein one or more of the plurality of values are based on the plurality of constraints (218, 220, 222, ...); generating, by the one or more processing elements, a first communication based on the first constrained communication record, wherein the content of the first communication is based on the plurality of values and the plurality of constraints, and wherein the content of the first communication comprises a limited set of user selections and a priority for the first communication; providing, from the one or more processing elements, the first communication to the second user; receiving response data from the second user, wherein the response data comprises at least a selection from the limited set of user selections and other response data; updating the data structure of the first constrained communication record, wherein at least one of the plurality of values is updated based on the selection from the limited set of user selections, and wherein at least one of the other of the plurality of values is updated based on the other response data; generating a second communication based on the updated data structure of the first constrained communication record; and providing the second communication to the first user. receiving, from a first user at one or more processing elements , a plurality of constraints for a first constrained communication, wherein the plurality of constraints comprises a second user and a subject, the method further comprising accessing a subject list from a constraint database , wherein the subject list includes only a limited subset of subjects authorized by the second user; creating a first constrained communication record based on the plurality of constraints, wherein the first constrained communication record includes a data structure comprising a plurality of values, and wherein one or more of the plurality of values are based on the plurality of constraints (218, 220, 222, ...); generating, by the one or more processing elements, a first communication based on the first constrained communication record, wherein the content of the first communication is based on the plurality of values and the plurality of constraints, and wherein the content of the first communication comprises a limited set of user selections and a priority for the first communication; providing, from the one or more processing elements, the first communication to the second user; receiving response data from the second user, wherein the response data comprises at least a selection from the limited set of user selections and other response data; updating the data structure of the first constrained communication record, wherein at least one of the plurality of values is updated based on the selection from the limited set of user selections, and wherein at least one of the other of the plurality of values is updated based on the other response data; generating a second communication based on the updated data structure of the first constrained communication record; and providing the second communication to the first user. <EOS>