Skip to content

Commit 6317e06

Browse files
authored
Merge pull request readthedocs#3641 from davidfischer/update-security-docs
Update RTD security docs
2 parents 382c593 + ae6b6b5 commit 6317e06

File tree

5 files changed

+98
-41
lines changed

5 files changed

+98
-41
lines changed

docs/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ Information about development is also available:
104104
settings
105105
i18n
106106
issue-labels
107+
security
107108
api/index
108109

109110
.. _business-docs:

docs/security.rst

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
Security
2+
========
3+
4+
Security is very important to us at Read the Docs. We are committed to responsible reporting and disclosure of security issues.
5+
6+
Reporting a security issue
7+
~~~~~~~~~~~~~~~~~~~~~~~~~~
8+
9+
If you believe you've discovered a security issue at Read the Docs, please contact us at **[email protected]** (optionally using our :ref:`pgp-key`). We request that you please not publicly disclose the issue until it has been addressed by us.
10+
11+
You can expect:
12+
13+
* We will respond acknowledging your email typically within one business day.
14+
* We will follow up if and when we have confirmed the issue with a timetable for the fix.
15+
* We will notify you when the issue is fixed.
16+
* We will add the issue to our :ref:`security issue archive <security-issue-archive>`.
17+
18+
.. _pgp-key:
19+
20+
PGP key
21+
~~~~~~~
22+
23+
You may use this `PGP key`_ to securely communicate with us and to verify signed messages you receive from us.
24+
25+
.. _PGP key: https://pgp.mit.edu/pks/lookup?op=vindex&search=0xFEEF9FC2DD21D271
26+
27+
::
28+
29+
-----BEGIN PGP PUBLIC KEY BLOCK-----
30+
Comment: GPGTools - http://gpgtools.org
31+
32+
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
80+
wtRaD9li
81+
=LjIC
82+
-----END PGP PUBLIC KEY BLOCK-----
83+
84+
.. _security-issue-archive:
85+
86+
Security issue archive
87+
~~~~~~~~~~~~~~~~~~~~~~
88+
89+
It's only a matter of time...

readthedocs/templates/security.html

Lines changed: 5 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,14 @@
22

33
{% load i18n %}
44

5-
{% load pagination_tags %}
6-
7-
{% block title %}Security{% endblock %}
5+
{% block title %}{% trans 'Security' %}{% endblock %}
86

97
{% block content %}
108

11-
Please email <a href="mailto:[email protected]">[email protected]</a> in the event of a security flaw discovered in Read the Docs.
12-
13-
You can sign your message with the following <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x71337C3047A1B066">GPG key</a>:
14-
15-
<pre>
16-
-----BEGIN PGP PUBLIC KEY BLOCK-----
17-
Version: SKS 1.1.0
9+
<h2>{% trans 'Security at Read the Docs' %}</h2>
1810

19-
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
46-
luSpsAyzljd2WIX4OVtbOodsJeBYutS2AxBO
47-
=yZOS
48-
-----END PGP PUBLIC KEY BLOCK-----
49-
</pre>
11+
{% blocktrans %}
12+
For more details on security at Read the Docs or to report a security issue, please see our <a href="https://docs.readthedocs.io/en/latest/security.html">security policy</a>.
13+
{% endblocktrans %}
5014

5115
{% endblock %}

readthedocs/templates/security.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Policy: https://docs.readthedocs.io/en/latest/security.html

readthedocs/urls.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
url(r'^$', HomepageView.as_view(), name='homepage'),
3535
url(r'^support/', SupportView.as_view(), name='support'),
3636
url(r'^security/', TemplateView.as_view(template_name='security.html')),
37+
url(r'^.well-known/security.txt',
38+
TemplateView.as_view(template_name='security.txt', content_type='text/plain')),
3739
]
3840

3941
rtd_urls = [

0 commit comments

Comments
 (0)