anchor.diff:  digraph B {
       A[label="App A", color="green"];
       B[label="App B", color="green"];
  -    C[label="App C"];
  +    C[label="App C", color="blue"];
       D[label="App C"];
   
  -    A->C[color=green];
  -    B->C[color=green];
  -    C->D;
  -}
  -----
  -
  -However, when we have aggregation/distribution platforms the attestation burden falls upon the platform.
  +    A->C[color=blue];
  +    B->C[color=blue];
  +    C->D[color=balck];
  +}
  +----
  +
  +However, when we have aggregation/distribution platforms the **attestation burden falls upon the platform**.
   Often the platform owners are not in a position to be able to accurately perform the required attestation, especially in mulit-tenancy situations.
   
  -This is depicted in the following figure, the green flows show a large volume of inbound flows to the platform which may have little knowledge of their contents.
   
   .Direct attestation for platforms
   [graphviz, direct-att-complex, svg]
  
positive.code: |===
  
  ==== Attestation
  In the current model we view the consuming application as being the owner of the flow.
  The reasoning behind this is based on a simple belief that the consumer is more likely to be aware of the flow than the producer.
  
  For simple app-to-app flows systems this model works well and attestation is straightforward; the consumer should attest all inbound flows.
  
negative.code: digraph B {
  
      plat[label="Platform\n???", color="orange"];
      app1[label="App1", color="green"];
      app2[label="App2", color="green"];
      app3[label="App3", color="green"];
      app4[label="App4", color="green"];
      app5[label="App5", color="green"];
      appN[label="...", color="green"];
      app6[label="App6"];
      app7[label="App7"];
      app8[label="App8"];
      app9[label="App9"];
      appNN[label="..."];
  
      app1 -> plat [color="orange"];
      app2 -> plat [color="orange"];
      app3 -> plat [color="orange"];
      app4 -> plat [color="orange"];
      app5 -> plat [color="orange"];
      appN -> plat [style="dashed"; color="orange"];
      plat -> app6 [color="grey"];
      plat -> app7 [color="grey"];
      plat -> app8 [color="grey"];
      plat -> app9 [color="grey"];
      plat -> appNN [style="dashed"; color="grey"];
  }
  ----
  
  This is depicted in the following figure, the green flows show a large volume of inbound flows to the platform which may have little knowledge of their content and/or accuracy.
  
  ===== Attestation Enhancements
  
  To overcome this situation we could:
  
  **_Option 1:_ Exempt platform _applications_** from flow attestations.
  This could be achieved via a simple flag, assessment or membership of a group.
  To ensure the flows are attested, the obligation to attest would move to the providers of data to a platform.
  
  .Exempting platforms
  [graphviz, direct-att-complex-option-1, svg]
  ----
  digraph B {
  
      plat[label="Platform\n:)", color="orange"];
      app1[label="App1", color="green"];
      app2[label="App2", color="green"];
      app3[label="App3", color="green"];
  