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..."
 
No edit summary
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 a Schrodinger's Privacy Policy. 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.


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.


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
|}
|}
The table above is implemented for real as [[Template:Automaton]]. Calling it looks like this.


<pre>
<pre>
{{#switch: {{{state|q0}}}
{{Automaton|state=q0|clause=logging}}
| q0 = {{#switch: {{{clause}}}
    | logging = q1
    | sale = q0
    | waiver = q3
    | #default = q0
  }}
| q1 = {{#switch: {{{clause}}}
    | logging = q1
    | sale = q2
    | waiver = q3
    | #default = q1
  }}
| q2 = q2
| q3 = q3
}}
</pre>
</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.
That returns q1. Feed the result back in as the next state and you can walk a reader through the whole policy one clause at a time.


== 3 On Turing Completeness ==
<pre>
{{Automaton|state={{Automaton|state=q0|clause=logging}}|clause=sale}}
</pre>


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.
That lands on q2. Keep chaining clauses and every reader eventually reaches q3, at which point there is no transition back to q0. We consider this a feature.


== 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, people have proven the same thing about C++ templates and, memorably, about the card game Magic: The Gathering, both cited below. The only real limit here is $wgMaxTemplateDepth, 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.
Line 65: Line 56:
== 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="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>
<ref name="depth">MediaWiki manual, Manual:$wgMaxTemplateDepth, describing recursion limits on template expansion.</ref>
<ref name="veldhuizen">Veldhuizen, T. L. (2003). C++ Templates are Turing Complete. https://www.osl.iu.edu/~tveldhui/papers/2003/turing.pdf</ref>
<ref name="vacuous">On vacuous truth, see standard introductory logic texts covering universally quantified statements over the empty set.</ref>
<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>
<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>
<ref name="mwdepth">MediaWiki manual, Manual:$wgMaxTemplateDepth. https://www.mediawiki.org/wiki/Manual:$wgMaxTemplateDepth</ref>
</references>
</references>

Revision as of 10:19, 27 July 2026

A Note Before We Start

This is a Schrodinger's Privacy Policy. 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.

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.

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

The table above is implemented for real as Template:Automaton. Calling it looks like this.

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

That returns q1. Feed the result back in as the next state and you can walk a reader through the whole policy one clause at a time.

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

That lands on q2. Keep chaining clauses and every reader eventually reaches q3, at which point there is no transition back to q0. We consider this a feature.

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, people have proven the same thing about C++ templates and, memorably, about the card game Magic: The Gathering, both cited below. The only real limit here is $wgMaxTemplateDepth, 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

Cite error: <ref> tag with name "obar" defined in <references> is not used in prior text.
Cite error: <ref> tag with name "veldhuizen" defined in <references> is not used in prior text.
Cite error: <ref> tag with name "mtg" defined in <references> is not used in prior text.
Cite error: <ref> tag with name "mwdepth" defined in <references> is not used in prior text.