diff --git a/content/press/index.md b/content/press/index.md
index 3bdb0c8..4b69294 100644
--- a/content/press/index.md
+++ b/content/press/index.md
@@ -7,15 +7,38 @@
 <p><a class="btn btn-default mx-10" href="https://news.apache.org/" role="button">Go to Foundation Newsroom</a>
 <p><a class="btn btn-default mx-10" href="https://apache.org/foundation/reports" role="button">View Reports</a>
 
-## Press Release Support 
-Press releases that refer to the ASF and/or its projects must be approved by the VP Marketing and Publicity prior to distribution. Please allow for a minimum of 10 business days to complete the review. We are sensitive to internal approval processes and will expedite feedback when possible. 
-- The ASF is vendor-neutral and does not provide testimonials that endorse, promote, or advertise the capability, credibility, or quality of any technology, product, or service. Email: press@apache.org  - Joint announcements are rarely issued; examples of such releases include instances where a major industry milestone or initiative takes place, or announcing ASF Platinum-level Sponsorships. 
-  
-* You may request a quote for your ASF-related press release. Quotes may not be included unless approved by the VP Marketing & Publicity. 
-* Third-party press releases must not include the ASF boilerplate, dateline location, logo, or media contacts.
-
-## Publicity Guidelines for Apache Top-Level Projects  {#project-guides}
-
+## Publicity Guidelines for ASF Top-Level Projects
 ASF top-level projects (TLPs) and their communities are encouraged to actively build awareness of their project and activities through marketing and communications activities such as public relations, email, content, social media, website, and branding. Educational opportunities include Community Over Code, meetups, videos, podcasts, articles, third party conferences, and related community events.
 
 TLP participants are invited to review the guidelines in the <a href="https://cwiki.apache.org/confluence/display/PRESS/Publicity+Guidelines+for+Top-Level+Projects">internal ASF wiki page</a>.
+
+## Third Party Press Release Support 
+Press releases that refer to the ASF and/or its projects must be approved by the VP Marketing and Publicity prior to distribution. Please allow for a minimum of 10 business days to complete the review. We are sensitive to internal approval processes and will expedite feedback when possible.
+ 
+* The ASF is vendor-neutral and does not provide testimonials that endorse, promote, or advertise the capability, credibility, or quality of any technology, product, or service. 
+* Joint announcements are rarely issued. Examples of such releases include instances where a major industry milestone or initiative takes place, or announcing ASF Platinum Sponsorships.
+* You may request a quote for your ASF-related press release. Quotes may not be included unless approved by the VP Marketing & Publicity.
+* Third-party press releases must not include the ASF boilerplate, dateline location, logo, or media contacts.
+
+No formal press releases or announcements can be made by a third party on behalf of an Apache project, e.g., "Company ABC announces new features in Apache Project Name" or mentioning the project as part of upcoming features/support in their own products. Interested parties may issue supporting announcements with pointers to news originated by ASF or the project, e.g. a link to the corresponding mailing list, webpage or blog post.
+
+## Third-Party Brand Support
+Organizations are responsible for adhering to [ASF trademark policies](https://www.apache.org/foundation/marks/resources). For questions about branding and trademark, please visit [https://apache.org/foundation/marks/contact](https://apache.org/foundation/marks/contact).
+
+The [publicity/brand/communications guidelines created by Databricks](https://apache.org/foundation/press/Project-PR-BrandGuidelines.pdf) serve as a "good practice" model for other ASF-focused organizations to emulate.
+
+## Contact Us
+press@apache.org 
+
+## FAQ
+**Can I refer to an individual, organization or community as “founding” an ASF project?** <br>
+Many projects enter the Apache Incubator with a recognized individual founder, group of founders, or corporate entity where the project originated and/or which was responsible for its development/administration. 
+
+The ASF is vendor neutral: all ASF projects are overseen by their respective Project Management Committees (PMCs), who guide the project's day-to-day operations. Once a project comes to the ASF, its development and oversight is the responsibility of the project’s PMC and community. 
+
+There are no "owners" of any Apache project. Individuals and companies who founded projects that are now under the auspices of the ASF may be referred to as "original creator of Apache Project Name" or "original developer of Apache Project Name." Examples: 
+* **Individual’s title.** "Individual’s Name, Apache Member (or Committer) and original developer of Apache Project Name." 
+* **Company whose founders or employees are the original creators of an Apache project.** "Company Name, founded by the original creators of Apache Project Name" or "several Company Name team members are the original developers of Apache Project Name."
+
+
+
