Web applications and web services are relevant technologies nowadays, supporting a wide range of services, such as e-commerce, e-banking, e-government, and others. Usually, to access these services, users, customers, and business partners need to provide personally identifiable information (PII), such as addresses, social security IDs, and credit card numbers.Furthermore, modern applications can automatically gather information related to users' activities, such as, for example, usage pattern or approximate location. Once this information is made available, it is no longer under the control of their owner regarding how it is actually handled, which raises privacy concerns. If on one hand companies and organizations want to be able to gather, data mine and share PII information, on the other hand they are interested in keeping such information private due to privacy laws and their credibility with respect to how able they are to protect the privacy of their users. This work presents a comprehensive approach to support the analysis, design, and development of web applications and services with privacy concerns. The approach is composed of a Privacy Conceptual Model (systematizes privacy concepts, showing privacy elements and their relations in an organized way), a Privacy Reference Architecture (abstract architecture which describes functionalities that must be addressed during the development of web applications to protect the privacy of the users) and a Privacy UML Profile (extension of the UML language to incorporate privacy concepts) and it allows stakeholders to better understand the privacy domain, as well as modeling and developing web applications consistently with the privacy policies enabling their enforcement. This way, PII can be managed in a more secure manner and protected from different sources of privacy violation. A case study was developed applying the approach to improve privacy protection for an online bookstore. The approach was evaluated considering two important key attributes: applicability and completeness. Results show that the approach adds value to the stakeholders and is an important contribution towards improving the process of designing web applications in the privacy domain.