Skip to content

Instantly share code, notes, and snippets.

@darkfrog26
Created August 28, 2012 15:33
Show Gist options
  • Save darkfrog26/3499165 to your computer and use it in GitHub Desktop.
Save darkfrog26/3499165 to your computer and use it in GitHub Desktop.
package com.projectspeaker.pages
import com.projectspeaker.ProjectSpeakerPage
import org.powerscala.Color
import org.hyperscala.html._
import org.hyperscala.html
import org.hyperscala.html.tag._
import org.powerscala.property._
import org.hyperscala.html.attributes.Target
import org.hyperscala.web.Scope
/**
* @author Matt Hicks <mhicks@powerscala.org>
*/
class PrivacyPage extends ProjectSpeakerPage {
// Cache the entire static content in application scope
pageContent.contents += cached[Div]("privacyContent", scope = Scope.Application) {
new Div(id = "app", clazz = List("container", "content")) {
contents += new Div() {
contents += new P() {
style.line.height := "normal"
contents += new A() {
name := "0.2__GoBack"
}
contents += new B() {
contents += new Span() {
style.font.size := 24.0.pt
contents += """ProjectSpeaker.com Privacy Policy"""
}
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """Last
modified: June 14, 2012"""
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """There
are many different ways you can use"""
contents += new A(target = Target.Blank, href = "http://projectspeaker.com/", content = "projectspeaker.com")
contents += """and the services made
available through our website (collectively, "our services"), including to
share information or to create new content. Sometimes, when using our services
you provide us with certain information. As you use our services, we want you
to be clear how we're using information and the ways in which you can protect
your privacy."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """Our
Privacy Policy explains:"""
}
}
contents += new Ul() {
style.list.style.styleType := "disc"
contents += new Li() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """What
information we collect and why we collect it."""
}
}
contents += new Li() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """How
we use that information."""
}
}
contents += new Li() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """The
choices we offer, including how to access and update information."""
}
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """Your
privacy matters to ProjectSpeaker.com. Since we want you to understand this
policy, we've tried to keep things simple."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new B() {
contents += new Span() {
style.font.size := 13.5.pt
contents += """Information
we collect"""
}
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """We
may collect the following information:"""
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span() {
style.font.size := 12.0.pt
contents += """Name"""
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span() {
style.font.size := 12.0.pt
contents += """Contact information including
email address, and Phone Number"""
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span() {
style.font.size := 12.0.pt
contents += """Job title"""
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span() {
style.font.size := 12.0.pt
contents += """Demographic information such as
postal code"""
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span() {
style.font.size := 12.0.pt
contents += """Information provided to us when
you communicate with us for any reason"""
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 0.px
contents += new B() {
contents += new Span() {
style.font.size := 13.5.pt
contents += """What we do with the information we gather"""
}
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 0.px
contents += new B() {
contents += new Span() {
style.font.size := 12.0.pt
}
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span() {
style.font.size := 12.0.pt
contents += """Internal record keeping"""
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span() {
style.font.size := 12.0.pt
contents += """We use your personal information
such as your name, email, address, and telephone number, in order for us to
assist in creating a publically visible profile"""
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span() {
style.font.size := 12.0.pt
contents += """We administer your account and
customize the services we provide to you and other users"""
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span() {
style.font.size := 12.0.pt
contents += """Enable you to share your
information and communicate with other users"""
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 0.px
contents += new B() {
contents += new Span() {
style.font.size := 12.0.pt
}
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 0.px
contents += new B() {
contents += new Span() {
style.font.size := 13.5.pt
contents += """Storing your personal details"""
}
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 0.px
contents += new B() {
contents += new Span() {
style.font.size := 12.0.pt
}
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 0.px
contents += new Span() {
style.font.size := 12.0.pt
contents += """The data that you provide is stored on our secure
servers. While we take every precaution to ensure your information is secure,
any information that is transmitted over the internet is not completely secure,
therefore data sent to us electronically is done entirely at your own risk.
Where we have provided you with a password, or you have chosen your own
password, you are responsible for keeping this password confidential."""
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 0.px
contents += new Span() {
style.font.size := 12.0.pt
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 0.px
contents += new B() {
contents += new Span() {
style.font.size := 13.5.pt
contents += """Disclosure of your personal details"""
}
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 0.px
contents += new B() {
contents += new Span() {
style.font.size := 12.0.pt
}
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 0.px
contents += new Span() {
style.font.size := 12.0.pt
contents += """Any personal information that you provide us with is
held in strict confidence. However, in certain circumstances we may be required
to. Circumstances where we will be required to divulge your personal details
include:"""
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 0.px
contents += new Span() {
style.font.size := 12.0.pt
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 38.25.px
contents += new Span() {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span() {
style.background := "white"
style.color := Color.Black
style.font.size := 12.0.pt
contents += """When
we are required or authorized by law to do so;"""
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 38.25.px
contents += new Span() {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span() {
style.background := "white"
style.color := Color.Black
style.font.size := 12.0.pt
contents += """When
you have consented to the disclosure;"""
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 38.25.px
contents += new Span() {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span() {
style.font.size := 12.0.pt
contents += """The information is already
publically known;"""
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 38.25.px
contents += new Span() {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span() {
style.background := "white"
style.color := Color.Black
style.font.size := 12.0.pt
contents += """When
the services we are providing to you require us to give your information to
third parties your consent will be implied, unless you tell us otherwise."""
}
}
contents += new P() {
style.line.height := "normal"
style.margin.left := 38.25.px
contents += new Span() {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span() {
style.background := "white"
style.color := Color.Black
style.font.size := 12.0.pt
contents += """In
order to protect against harm to the rights, property or safety of
ProjectSpeaker.com, other users or the public as required or permitted by law."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new B() {
contents += new Span() {
style.font.size := 13.5.pt
contents += """Accessing
and updating your personal information"""
}
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """Whenever
you use our services, we aim to provide you with access to your personal
information. If that information is wrong, we strive to give you ways to update
it quickly or to delete it - unless we have to keep that information for
legitimate business or legal purposes. When updating your personal information,
we may ask you to verify your identity before we can act on your request."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """We
may reject requests that are unreasonably repetitive, require disproportionate
technical effort (for example, developing a new system or fundamentally
changing an existing practice), risk the privacy of others, or would be
extremely impractical."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """Where
we can provide information access and correction, we will do so for free,
except where it would require a disproportionate effort. We aim to maintain our
services in a manner that protects information from accidental or malicious
destruction. Because of this, after you delete information from our services,
we may not immediately delete residual copies from our active servers and may
not remove information from our backup systems."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new B() {
contents += new Span() {
style.font.size := 13.5.pt
contents += """Controlling
your personal information"""
}
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """We
will not sell, distribute, or lease your personal information to third parties
unless we have your permission or are required by law to do so. We may use your
personal information to send you promotional information about third parties
which we think you may find interesting if you inform us that you wish for this
to happen."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new B() {
contents += new Span() {
style.font.size := 13.5.pt
contents += """Third
Party Links"""
}
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """On
our website you may find links to third party websites. These websites should
have their own privacy policies which is your sole responsibility to review. We
do not accept any responsibility or liability whatsoever for their policies."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new B() {
contents += new Span() {
style.font.size := 13.5.pt
contents += """Obligation
to other users"""
}
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """We
ask that you do not abuse the service offered by ProjectSpeaker.com, and that
you refrain from harassing, or sending spam to other users. We ask that you do
not violate the Privacy Policy."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new B() {
contents += new Span() {
style.font.size := 13.5.pt
contents += """Application"""
}
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """Our
Privacy Policy applies to all of the services offered by ProjectSpeaker.com and
its affiliates, including services offered on other sites (such as our
advertising services), but excludes services that have separate privacy
policies that do not incorporate this Privacy Policy."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """Our
Privacy Policy does not apply to services offered by other companies or
individuals."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new B() {
contents += new Span() {
style.font.size := 13.5.pt
contents += """Information
you share"""
}
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """Many
of our services let you share information with others. Remember that when you
share information publicly, it may be viewable by search engines. Our services
provide you with different options on sharing and removing your content."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new B() {
contents += new Span() {
style.font.size := 13.5.pt
contents += """Enforcement"""
}
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """We
regularly review our compliance with our Privacy Policy. When we receive formal
written complaints, we will contact the person who made the complaint to follow
up. We work with the appropriate regulatory authorities, including local data
protection authorities, to resolve any complaints regarding the transfer of
personal data that we cannot resolve with our users directly."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new B() {
contents += new Span() {
style.font.size := 13.5.pt
contents += """Cookie
Information"""
}
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.background := "white"
style.font.size := 12.0.pt
contents += """We use "cookies" (small pieces of data we store for
an extended period of time on your computer, mobile phone, or other device) to
make ProjectSpeaker.com easier to use, to make our advertising better, and to
protect both you and ProjectSpeaker.com. For example, we use them to store your
login ID (but never your password) to make it easier for you to login whenever
you come back to ProjectSpeaker.com We also use them to confirm that you are
logged into ProjectSpeaker.com. You can remove or block cookies using the
settings in your browser, but in some cases that may impact your ability to use
ProjectSpeaker.com"""
}
}
contents += new P() {
style.line.height := "normal"
contents += new B() {
contents += new Span(lang = "EN-US", content = "Your privacy responsibilities") {
style.color := Color.immutable("#111111")
style.font.size := 13.5.pt
}
}
}
contents += new P() {
style.background := "white"
style.line.height := "18.0pt"
style.margin.bottom := 12.0.px
contents += new Span(lang = "EN-US") {
style.font.size := 12.0.pt
contents += """To help protect your privacy,
be sure:"""
}
}
contents += new P() {
style.background := "white"
style.line.height := "18.0pt"
style.margin.bottom := 12.0.px
contents += new Span(lang = "EN-US") {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span(lang = "EN-US") {
style.font.size := 12.0.pt
contents += """not to share your user
ID or password with anyone else;"""
}
}
contents += new P() {
style.background := "white"
style.line.height := "18.0pt"
style.margin.bottom := 12.0.px
contents += new Span(lang = "EN-US") {
style.font.size := 12.0.pt
contents += "-"
contents += new Span() {
style.font := "7.0pt Times New Roman"
}
}
contents += new Span(lang = "EN-US") {
style.font.size := 12.0.pt
contents += """to log off the
ProjectSpeaker.com Web site when you are finished."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new B() {
contents += new Span() {
style.font.size := 13.5.pt
contents += """Changes"""
}
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.font.size := 12.0.pt
contents += """Our
Privacy Policy may change from time to time. We will not reduce your rights
under this Privacy Policy without your explicit consent. We will post any
privacy policy changes on this page and, if the changes are significant, we
will provide a more prominent notice (including, for certain services, email
notification of privacy policy changes). We will also keep prior versions of
this Privacy Policy in an archive for your review."""
}
}
contents += new P() {
style.line.height := "normal"
contents += new B() {
contents += new Span() {
style.font.size := 13.5.pt
contents += """How
to contact us"""
}
}
}
contents += new P() {
style.line.height := "normal"
contents += new Span() {
style.background := "white"
style.color := Color.Black
style.font.size := 12.0.pt
contents += """If you have questions or comments about this
Privacy Policy, please contact by email at"""
contents += new A(target = Target.Blank, href = "mailto:privacy@projectspeaker.com") {
contents += """privacy@projectspeaker.com"""
}
contents += """in the
alternative you may contact us at:"""
}
}
contents += new P() {
style.line.height := "normal"
style.margin.bottom := 0.0001.px
contents += new Span() {
style.background := "white"
style.color := Color.Black
style.font.size := 12.0.pt
contents += """Attention:
Privacy Policy Issues"""
}
}
contents += new P() {
style.line.height := "normal"
style.margin.bottom := 0.0001.px
contents += new Span() {
style.background := "white"
style.color := Color.Black
style.font.size := 12.0.pt
contents += """21 Regent
Street, Suite #1"""
}
}
contents += new P() {
style.line.height := "normal"
style.margin.bottom := 0.0001.px
contents += new Span() {
style.background := "white"
style.color := Color.Black
style.font.size := 12.0.pt
contents += """Ottawa
Ontario"""
}
}
contents += new P() {
style.line.height := "normal"
style.margin.bottom := 0.0001.px
contents += new Span() {
style.background := "white"
style.color := Color.Black
style.font.size := 12.0.pt
contents += """K1S 2R4"""
}
}
contents += new P() {
style.line.height := "normal"
style.margin.bottom := 0.0001.px
contents += new Span() {
style.background := "white"
style.color := Color.Black
style.font.size := 12.0.pt
}
}
contents += new P() {
style.line.height := "normal"
style.margin.bottom := 0.0001.px
contents += new Span() {
style.background := "white"
style.color := Color.Black
style.font.family := "Times New Roman,serif"
style.font.size := 12.0.pt
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment