diff --git a/public/docs/_examples/security/ts/app/bypass-security.component.html b/public/docs/_examples/security/ts/app/bypass-security.component.html
index 1b0a9d0c0e..374dcc8d64 100644
--- a/public/docs/_examples/security/ts/app/bypass-security.component.html
+++ b/public/docs/_examples/security/ts/app/bypass-security.component.html
@@ -2,7 +2,7 @@
Bypass Security Component
-A untrusted URL:
+An untrusted URL:
Click me
A trusted URL:
Click me
diff --git a/public/docs/_examples/security/ts/app/bypass-security.component.ts b/public/docs/_examples/security/ts/app/bypass-security.component.ts
index 9b33247828..7c30903955 100644
--- a/public/docs/_examples/security/ts/app/bypass-security.component.ts
+++ b/public/docs/_examples/security/ts/app/bypass-security.component.ts
@@ -16,7 +16,7 @@ export class BypassSecurityComponent {
// #docregion trust-url
constructor(private sanitizer: DomSanitizer) {
// javascript: URLs are dangerous if attacker controlled.
- // Angular sanitizes them in data binding, but we can
+ // Angular sanitizes them in data binding, but you can
// explicitly tell Angular to trust this value:
this.dangerousUrl = 'javascript:alert("Hi there")';
this.trustedUrl = sanitizer.bypassSecurityTrustUrl(this.dangerousUrl);
@@ -28,7 +28,7 @@ export class BypassSecurityComponent {
updateVideoUrl(id: string) {
// Appending an ID to a YouTube URL is safe.
// Always make sure to construct SafeValue objects as
- // close as possible to the input data, so
+ // close as possible to the input data so
// that it's easier to check if the value is safe.
this.dangerousVideoUrl = 'https://www.youtube.com/embed/' + id;
this.videoUrl =
diff --git a/public/docs/_examples/security/ts/app/inner-html-binding.component.ts b/public/docs/_examples/security/ts/app/inner-html-binding.component.ts
index 0419e5b324..88475e3724 100644
--- a/public/docs/_examples/security/ts/app/inner-html-binding.component.ts
+++ b/public/docs/_examples/security/ts/app/inner-html-binding.component.ts
@@ -8,6 +8,6 @@ import { Component } from '@angular/core';
})
// #docregion inner-html-controller
export class InnerHtmlBindingComponent {
- // E.g. a user/attacker controlled value from a URL.
+ // For example, a user/attacker-controlled value from a URL.
htmlSnippet = 'Template Syntax';
}
diff --git a/public/docs/ts/latest/glossary.jade b/public/docs/ts/latest/glossary.jade
index b72adf74b9..96df4be2f1 100644
--- a/public/docs/ts/latest/glossary.jade
+++ b/public/docs/ts/latest/glossary.jade
@@ -41,7 +41,8 @@ block includes
.l-sub-section
:marked
Helps us organize an application into cohesive blocks of functionality.
- An Angular module identifies the components, directives, and pipes that the application uses along with the list of external Angular modules that the application needs, such as `FormsModule`.
+ An Angular module identifies the components, directives, and pipes that the application uses
+ along with the list of external Angular modules that the application needs, such as `FormsModule`.
Every Angular application has an application root module class. By convention, the class is
called `AppModule` and resides in a file named `app.component.ts`.
@@ -251,7 +252,7 @@ block includes
that each do one thing well and then wiring them together at runtime.
These parts often rely on other parts. An Angular [component](#component)
- part might rely on a service part to get data or perform a calculation. When
+ part might rely on a service part to get data or perform a calculation. When
part "A" relies on another part "B", you say that "A" depends on "B" and
that "B" is a dependency of "A".
diff --git a/public/docs/ts/latest/guide/security.jade b/public/docs/ts/latest/guide/security.jade
index 58c3d683bb..098459b35a 100644
--- a/public/docs/ts/latest/guide/security.jade
+++ b/public/docs/ts/latest/guide/security.jade
@@ -1,115 +1,113 @@
block includes
include ../_util-fns
:marked
- Web application security has many aspects. This chapter describes Angular's built in
- protections against common web application vulnerabilities and attacks, such as Cross Site
- Scripting Attacks. It does not cover application level security, such as authentication (_Who is
+ This section describes Angular's built-in
+ protections against common web application vulnerabilities and attacks such as cross-site
+ scripting attacks. It does not cover application-level security, such as authentication (_Who is
this user?_) or authorization (_What can this user do?_).
- The [Open Web Application Security Project (OWASP)](https://www.owasp.org/index.php/Category:OWASP_Guide_Project)
- has further information on the attacks and mitigations described below.
+ For more information about the attacks and mitigations described below, see [OWASP Guide Project](https://www.owasp.org/index.php/Category:OWASP_Guide_Project).
.l-main-section
:marked
- # Table Of Contents
+ # Contents:
- * [Reporting Vulnerabilities](#report-issues)
- * [Best Practices](#best-practices)
- * [Preventing Cross-Site Scripting (XSS)](#xss)
- * [Trusting Safe Values](#bypass-security-apis)
- * [HTTP-level Vulnerabilities](#http)
- * [Auditing Angular Applications](#code-review)
+ * [Reporting vulnerabilities](#report-issues).
+ * [Best practices](#best-practices).
+ * [Preventing cross-site scripting (XSS)](#xss).
+ * [Trusting safe values](#bypass-security-apis).
+ * [HTTP-Level vulnerabilities](#http).
+ * [Auditing Angular applications](#code-review).
- Try the of the code shown in this chapter.
+ Try the of the code shown in this page.
.l-main-section
-h2#report-issues Reporting Vulnerabilities
+h2#report-issues Reporting vulnerabilities
:marked
Email us at [security@angular.io](mailto:security@angular.io) to report vulnerabilities in
Angular itself.
- For further details on how Google handles security issues please refer to [Google's security
+ For more information about how Google handles security issues, see [Google's security
philosophy](https://www.google.com/about/appsecurity/).
.l-main-section
-h2#best-practices Best Practices
+h2#best-practices Best practices
:marked
* **Keep current with the latest Angular library releases.**
- We regularly update our Angular libraries and these updates may fix security defects discovered in
- previous version. Check the Angular [change
+ We regularly update our Angular libraries, and these updates may fix security defects discovered in
+ previous versions. Check the Angular [change
log](https://github.com/angular/angular/blob/master/CHANGELOG.md) for security-related updates.
* **Don't modify your copy of Angular.**
- Private, customized versions of Angular tend to fall behind the current version and may neglect
+ Private, customized versions of Angular tend to fall behind the current version and may not include
important security fixes and enhancements. Instead, share your Angular improvements with the
community and make a pull request.
- * **Avoid Angular APIs marked in the documentation as “[_Security Risk_](#bypass-security-apis)”.**
+ * **Avoid Angular APIs marked in the documentation as “[_Security Risk_](#bypass-security-apis).”**
.l-main-section
-h2#xss Preventing Cross-Site Scripting (XSS)
+h2#xss Preventing cross-site scripting (XSS)
:marked
- [Cross-Site Scripting (XSS)](https://en.wikipedia.org/wiki/Cross-site_scripting) enables attackers
- to inject malicious code into web pages. Such code can then, for example, steal user's data (in
- particular their login data), or perform actions impersonating the user. This is one of the most
+ [Cross-site scripting (XSS)](https://en.wikipedia.org/wiki/Cross-site_scripting) enables attackers
+ to inject malicious code into web pages. Such code can then, for example, steal user data (in
+ particular, their login data) or perform actions impersonating the user. This is one of the most
common attacks on the web.
- To block XSS attacks, we must prevent malicious code from entering the DOM. For example, if an
- attacker can trick us into inserting a `