Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

ukernelperson's Trove:Privacy policy: Difference between revisions

From μkernelperson's Trove
Created page with "{{DISPLAYTITLE:Privacy Policy}} == Preamble == This instrument hereinafter the Policy is promulgated under an authority that need not be named and shall not be construed against the drafter under any doctrine known or unknown to any jurisdiction terrestrial or otherwise. By parsing these characters with eyes or a screen reader or an optical character recognition pipeline the reader hereby ratifies whatever follows regardless of comprehension achieved which per Section 4..."
 
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{DISPLAYTITLE:Privacy Policy}}
{{DISPLAYTITLE:Privacy Policy}}
== Preamble ==
== A Note Before We Start ==


This instrument hereinafter the Policy is promulgated under an authority that need not be named and shall not be construed against the drafter under any doctrine known or unknown to any jurisdiction terrestrial or otherwise. By parsing these characters with eyes or a screen reader or an optical character recognition pipeline the reader hereby ratifies whatever follows regardless of comprehension achieved which per Section 4 is expected to approach zero.
This is Schrödinger's Privacy Policy (except not really, because Schrödinger neither authored this document nor assigned us any rights to use his privacy policies, assuming he ever had any). Until someone actually inspects our server configuration it exists in two states at once, "we log everything forever" and "we log nothing at all". We do not publish our LocalSettings.php so there is no way for you to collapse that waveform. Do not trust the author. That includes this sentence.


We do not publish our LocalSettings.php and no inference from its absence may be pled as evidence of anything in any forum.
== What We Log ==


== 1 Logging ==
We log all IP addresses. Indefinitely.


All IP addresses observed by the server are retained without a defined terminus a quo or terminus ad quem. All errors thrown by the application including errors about the retention just described are likewise retained without terminus. The retention described in this sentence and the retention described in the sentence before it are the same retention viewed twice which for legal purposes constitutes a single indivisible act of retention not two acts and therefore not subject to any rule requiring separate notice for separate processing activities.
We log all errors. Also indefinitely, including errors generated while logging other errors, which is a small infinite loop we have made peace with. This is, incidentally, exactly the kind of document nobody reads in full before agreeing to it.<ref name="obar">Obar, J. A., and Oeldorf-Hirsch, A. (2018). The biggest lie on the Internet: ignoring the privacy policies and terms of service policies of social networking services. ''Information, Communication & Society'', 23(1), 128 to 147. https://doi.org/10.1080/1369118X.2018.1486870</ref>


We do not sell data. Selling is defined nowhere in this Policy therefore nothing meets the definition therefore the clause is vacuously true in the sense used by logicians when they say a statement about an empty set is true regardless of content see Bibliography item 3.
== What We Do With It ==


== 2 The Automaton ==
We do not sell your data. This is the one sentence in this document you are allowed to take at face value, right up until you remember we just told you not to trust us, which makes trusting this one sentence a little awkward. We are aware of the irony and have chosen to keep it anyway due to us waivering the trust of the reader earlier.


The following is a finite state automaton denoted <math>M = (Q, \Sigma, \delta, q_0, F)</math> where <math>Q</math> is the set of states this Policy may occupy in a reader's understanding, <math>\Sigma</math> is the alphabet of clauses, <math>\delta</math> the transition function and <math>F</math> the accepting states meaning the states in which the reader believes they have understood something.
== The Automaton ==
 
Below is a small finite state machine that models how a reader's trust in this policy evolves clause by clause. States are q0 naive, q1 suspicious, q2 resigned, and q3 accepting, meaning you have stopped asking questions.


{| class="wikitable"
{| class="wikitable"
! State !! On clause "logging" !! On clause "sale" !! On clause "waiver"
! State !! Reads "logging" !! Reads "sale" !! Reads "waiver"
|-
|-
| q0 (naive) || q1 || q0 || q3
| q0 || q1 || q0 || q3
|-
|-
| q1 (suspicious) || q1 || q2 || q3
| q1 || q1 || q2 || q3
|-
|-
| q2 (resigned) || q2 || q2 || q3
| q2 || q2 || q2 || q3
|-
|-
| q3 (accepting, hollow) || q3 || q3 || q3
| q3 || q3 || q3 || q3
|}
|}


<pre>
This table is not decoration. It is implemented at [[Template:Automaton]] and the calls below are live transclusions, not sample code, so what you see rendered is the template actually running against this page right now.
{{#switch: {{{state|q0}}}
 
| q0 = {{#switch: {{{clause}}}
'''Step 1''', starting state q0, reading clause "logging":
    | logging = q1
<pre>{{Automaton|state=q0|clause=logging}}</pre>
    | sale = q0
Result: {{Automaton|state=q0|clause=logging}}
    | waiver = q3
    | #default = q0
  }}
| q1 = {{#switch: {{{clause}}}
    | logging = q1
    | sale = q2
    | waiver = q3
    | #default = q1
  }}
| q2 = q2
| q3 = q3
}}
</pre>


Once a reader enters q3 there is no transition back to q0 this is deliberate and models the legal doctrine of deemed acceptance discussed in Bibliography item 1. Nesting the transition template within itself for every clause in the Policy in sequence, feeding the output state as the input state of the next call, drives a reader from q0 to q3 in finitely many steps which is the formal definition of acceptance used herein and nowhere else.
'''Step 2''', feeding that result back in as the new state, reading clause "sale":
<pre>{{Automaton|state={{Automaton|state=q0|clause=logging}}|clause=sale}}</pre>
Result: {{Automaton|state={{Automaton|state=q0|clause=logging}}|clause=sale}}


== 3 On Turing Completeness ==
'''Step 3''', feeding that result in, reading clause "waiver":
<pre>{{Automaton|state={{Automaton|state={{Automaton|state=q0|clause=logging}}|clause=sale}}|clause=waiver}}</pre>
Result: {{Automaton|state={{Automaton|state={{Automaton|state=q0|clause=logging}}|clause=sale}}|clause=waiver}}


Extend the automaton above with an unbounded tape by recursive template transclusion. A template that calls itself with a modified parameter until a base case, implemented through {{tlx|Loop}} calling {{tlx|Loop}} calling {{tlx|Loop}}, together with {{tlx|#if}} for conditional branching and {{tlx|#expr}} for arithmetic, gives read write and conditional branch over unbounded storage which satisfies the informal requirements for Turing completeness within the recursion depth permitted by <code>$wgMaxTemplateDepth</code> a limit which this Policy regards as a practical constraint of the substrate and not a limit on the Policy's jurisdiction see Bibliography item 2. The Policy is therefore capable in principle of computing any function you could compute given enough recursion depth and enough patience neither of which we are obligated to provide.
Every reader who makes it through all three clauses lands on q3 and there is no transition defined back to q0. This is not a metaphor, it is the actual output of the actual template, computed by the actual wiki software rendering this actual page.


== 4 Comprehension Clause ==
== Yes, It Is Also Turing Complete, Sort Of ==


No warranty express or implied is made that any clause herein is comprehensible to a natural person. Comprehension is not a condition precedent to the binding nature of this Policy. Where a clause admits of two readings both readings bind simultaneously and where a clause admits of no coherent reading it binds most strongly of all under the doctrine that ambiguity favors the drafter which this Policy hereby invokes preemptively and irrevocably.
Nest a self calling template like Template:Loop enough times, using #if for branching and #expr for arithmetic, and you get read, write, and conditional branch over effectively unbounded storage. That is the informal bar for Turing completeness, and it is not a new idea. The same informal argument has been made rigorously for C++ template metaprogramming<ref name="veldhuizen">Veldhuizen, T. L. (2003). C++ Templates are Turing Complete. https://www.osl.iu.edu/~tveldhui/papers/2003/turing.pdf</ref> and, more surprisingly, for the trading card game Magic: The Gathering, where optimal play was shown to be at least as hard as the Halting Problem.<ref name="mtg">Churchill, A., Biderman, S., and Herrick, A. (2019). Magic: The Gathering is Turing Complete. arXiv:1904.09828. https://arxiv.org/abs/1904.09828</ref> The only real limit on this policy's computational ambitions is <code>$wgMaxTemplateDepth</code>,<ref name="mwdepth">MediaWiki manual, Manual:$wgMaxTemplateDepth. https://www.mediawiki.org/wiki/Manual:$wgMaxTemplateDepth</ref> which we treat as a constraint of the server rather than a limit on the policy.


== 5 Severability and Eternity ==
== Fine Print ==


Should any clause be struck by a competent tribunal the remaining clauses persist unaltered and the struck clause persists also in the logs described in Section 1 which are not clauses of this Policy but records of its operation and therefore not severable by anything that can only strike the Policy. Nothing in this Policy expires termination of the site notwithstanding.
If a court strikes down a clause of this policy, the rest keeps going, and the struck clause keeps existing in our logs anyway since logs are records of what happened, not clauses of the policy, so there is nothing left to strike. Nothing here expires just because the site does.


Do not trust the author.
DO NOT TRUST THE AUTHOR.


== Bibliography ==
== Bibliography ==
<references>
<references/>
<ref name="deemed">On deemed acceptance by continued use as a general contract doctrine, see standard treatments of browsewrap and clickwrap agreements in common law commentary.</ref>
<ref name="depth">MediaWiki manual, Manual:$wgMaxTemplateDepth, describing recursion limits on template expansion.</ref>
<ref name="vacuous">On vacuous truth, see standard introductory logic texts covering universally quantified statements over the empty set.</ref>
<ref name="turing">On the Turing completeness of template recursion systems generally, see discussions of recursive macro expansion as a computational model in esolang and template metaprogramming literature.</ref>
</references>

Latest revision as of 07:21, 29 July 2026

A Note Before We Start

This is Schrödinger's Privacy Policy (except not really, because Schrödinger neither authored this document nor assigned us any rights to use his privacy policies, assuming he ever had any). Until someone actually inspects our server configuration it exists in two states at once, "we log everything forever" and "we log nothing at all". We do not publish our LocalSettings.php so there is no way for you to collapse that waveform. Do not trust the author. That includes this sentence.

What We Log

We log all IP addresses. Indefinitely.

We log all errors. Also indefinitely, including errors generated while logging other errors, which is a small infinite loop we have made peace with. This is, incidentally, exactly the kind of document nobody reads in full before agreeing to it.[1]

What We Do With It

We do not sell your data. This is the one sentence in this document you are allowed to take at face value, right up until you remember we just told you not to trust us, which makes trusting this one sentence a little awkward. We are aware of the irony and have chosen to keep it anyway due to us waivering the trust of the reader earlier.

The Automaton

Below is a small finite state machine that models how a reader's trust in this policy evolves clause by clause. States are q0 naive, q1 suspicious, q2 resigned, and q3 accepting, meaning you have stopped asking questions.

State Reads "logging" Reads "sale" Reads "waiver"
q0 q1 q0 q3
q1 q1 q2 q3
q2 q2 q2 q3
q3 q3 q3 q3

This table is not decoration. It is implemented at Template:Automaton and the calls below are live transclusions, not sample code, so what you see rendered is the template actually running against this page right now.

Step 1, starting state q0, reading clause "logging":

{{Automaton|state=q0|clause=logging}}

Result: q1

Step 2, feeding that result back in as the new state, reading clause "sale":

{{Automaton|state={{Automaton|state=q0|clause=logging}}|clause=sale}}

Result: q2

Step 3, feeding that result in, reading clause "waiver":

{{Automaton|state={{Automaton|state={{Automaton|state=q0|clause=logging}}|clause=sale}}|clause=waiver}}

Result: q3

Every reader who makes it through all three clauses lands on q3 and there is no transition defined back to q0. This is not a metaphor, it is the actual output of the actual template, computed by the actual wiki software rendering this actual page.

Yes, It Is Also Turing Complete, Sort Of

Nest a self calling template like Template:Loop enough times, using #if for branching and #expr for arithmetic, and you get read, write, and conditional branch over effectively unbounded storage. That is the informal bar for Turing completeness, and it is not a new idea. The same informal argument has been made rigorously for C++ template metaprogramming[2] and, more surprisingly, for the trading card game Magic: The Gathering, where optimal play was shown to be at least as hard as the Halting Problem.[3] The only real limit on this policy's computational ambitions is $wgMaxTemplateDepth,[4] which we treat as a constraint of the server rather than a limit on the policy.

Fine Print

If a court strikes down a clause of this policy, the rest keeps going, and the struck clause keeps existing in our logs anyway since logs are records of what happened, not clauses of the policy, so there is nothing left to strike. Nothing here expires just because the site does.

DO NOT TRUST THE AUTHOR.

Bibliography

  1. Obar, J. A., and Oeldorf-Hirsch, A. (2018). The biggest lie on the Internet: ignoring the privacy policies and terms of service policies of social networking services. Information, Communication & Society, 23(1), 128 to 147. https://doi.org/10.1080/1369118X.2018.1486870
  2. Veldhuizen, T. L. (2003). C++ Templates are Turing Complete. https://www.osl.iu.edu/~tveldhui/papers/2003/turing.pdf
  3. Churchill, A., Biderman, S., and Herrick, A. (2019). Magic: The Gathering is Turing Complete. arXiv:1904.09828. https://arxiv.org/abs/1904.09828
  4. MediaWiki manual, Manual:$wgMaxTemplateDepth. https://www.mediawiki.org/wiki/Manual:$wgMaxTemplateDepth