• No results found

Towards Minimising Timestamp Usage in Application Software

N/A
N/A
Protected

Academic year: 2021

Share "Towards Minimising Timestamp Usage in Application Software"

Copied!
39
0
0

Loading.... (view fulltext now)

Full text

(1)

26.09.2019

Christian Burkert, Hannes Federrath

Towards Minimising Timestamp Usage in

Application Software

(2)

Project: Employee Privacy in Development and Operations

(3)

Project: Employee Privacy in Development and Operations

(4)

Project: Employee Privacy in Development and Operations

(5)

Project: Employee Privacy in Development and Operations

(6)

Project: Employee Privacy in Development and Operations

(7)

Project: Employee Privacy in Development and Operations

(8)

Monitoring of Employees

Monitoring Performance Down on Mondays? Progress Stuck on a task? Habits

Working after midnight? Employment

Power imbalance Collective measures vs. individual consent

26.09.2019 | Christian Burkert, Hannes Federrath 3 Source: Unabhängiges Landeszentrum für

(9)

Monitoring of Employees

Monitoring Performance Down on Mondays? Progress Stuck on a task? Habits

Working after midnight?

Employment

Power imbalance Collective measures vs. individual consent

26.09.2019 | Christian Burkert, Hannes Federrath 3 Source: Unabhängiges Landeszentrum für

(10)

Monitoring of Employees

Monitoring Performance Down on Mondays? Progress Stuck on a task? Habits

Working after midnight? Employment

Power imbalance Collective measures vs. individual consent

26.09.2019 | Christian Burkert, Hannes Federrath 3 Source: Unabhängiges Landeszentrum für

(11)

People Analytics: Microsoft Workplace Analytics

(12)

People Analytics: IBM Personal Social Dashboard

(13)

Timestamp Metadata

(14)

Timestamp Metadata: Research Questions

RQ1 Where do timestamps occur in the data model?

RQ2 Which of them are personally identifiable?

RQ3 For what purpose are they collected/processed?

RQ4 Are there more proportionate/data minimal alternatives?

(15)

Timestamp Metadata: Research Questions

RQ1 Where do timestamps occur in the data model?

RQ2 Which of them are personally identifiable?

RQ3 For what purpose are they collected/processed?

RQ4 Are there more proportionate/data minimal alternatives?

(16)

Timestamp Metadata: Research Questions

RQ1 Where do timestamps occur in the data model?

RQ2 Which of them are personally identifiable?

RQ3 For what purpose are they collected/processed?

RQ4 Are there more proportionate/data minimal alternatives?

(17)

Timestamp Metadata: Research Questions

RQ1 Where do timestamps occur in the data model?

RQ2 Which of them are personally identifiable?

RQ3 For what purpose are they collected/processed?

RQ4 Are there more proportionate/data minimal alternatives?

(18)

Case Study: Mattermost

26.09.2019 | Christian Burkert, Hannes Federrath 8 Source: mattermost.com

(19)

Purpose Analysis: Methodology

RQ1 Where do timestamps occur in the data model?

1. Find all uses ofint64keyword in model code

2. Filter out non-timestamp related occurrences

RQ2 Which of them are personally identifiable?

3. Keep only timestamps with a connection toUser

RQ3 For what purpose are they collected/processed?

4. Locate all uses of these timestamps withgorename

5. Inspect source code of all uses and categorise them

6. Discard all non-programmatic uses

(i.e., which have no effect on MM’s behaviour)

7. Identify user facing timestamps by in the web client

Target of evaluation:

Mattermost Server v4.8, Mattermost Web Client v5.5.1

(20)

Purpose Analysis: Methodology

RQ1 Where do timestamps occur in the data model?

1. Find all uses ofint64keyword in model code

2. Filter out non-timestamp related occurrences

RQ2 Which of them are personally identifiable?

3. Keep only timestamps with a connection toUser

RQ3 For what purpose are they collected/processed?

4. Locate all uses of these timestamps withgorename

5. Inspect source code of all uses and categorise them

6. Discard all non-programmatic uses

(i.e., which have no effect on MM’s behaviour)

7. Identify user facing timestamps by in the web client

Target of evaluation:

Mattermost Server v4.8, Mattermost Web Client v5.5.1

(21)

Purpose Analysis: Methodology

RQ1 Where do timestamps occur in the data model?

1. Find all uses ofint64keyword in model code

2. Filter out non-timestamp related occurrences

RQ2 Which of them are personally identifiable?

3. Keep only timestamps with a connection toUser

RQ3 For what purpose are they collected/processed?

4. Locate all uses of these timestamps withgorename

5. Inspect source code of all uses and categorise them

6. Discard all non-programmatic uses

(i.e., which have no effect on MM’s behaviour)

7. Identify user facing timestamps by in the web client Target of evaluation:

Mattermost Server v4.8, Mattermost Web Client v5.5.1

(22)

Timestamps in Mattermost’s Data Model (Excerpt)

g

User+ Ò Y z Channel+ Ò Y ChannelMemberÒ Y ChannelMemberHistory+ Y Post+ Ò Y Reaction+ Session+ z ¨ Statusz Legend: + Creation Ò Update Y Deletion Y Last Viewed z Last Activity ¨ Expiration

(23)

PII vs. Non-PII Timestamps

PII

47

No-PII

26

73

Total

(24)

Timestamp Types

Create

15

Update

14

Delete

10

Misc

8

47

PII

(25)

Visibility for Users

Visible

5

Not Visible 42

47

PII

(26)

Programmatic Usage

Used

Unused

47

PII

24

23

(27)

Distribution of Types between Used and Unused

3 4 5 6 6 6 8 9 create update delete misc used (23) unused (24)

(28)

Categories of Programmatic Usage

Type of Use Description

EditLimit Enforce edit limit for posts Etag Calculate Etag for HTTP header Expiry Enforce the expiry of an object Filter Filter a sequence of objects by time

MinElapse Ensure that a minimum amount of time has elapsed PostNovelty Highlight new posts

Sort Sort a sequence of objects by time State Track the state of an object

Timeout Enforce a timeout

(29)

Categories of Programmatic Usage

State

11

Etag

8

Expiry 4

Novelty

Timeout

2

2

4

Misc

31

Usages

(30)

RQ4: More proportionate/data minimal alternatives

Sequence Number Revision Number ReductionEncr yption Enumer ation EditLimit Etag Expiry Filter MinElapse Novelty Sort State Timeout User Information

(31)

Purpose: Sort, Novelty and Etag

Property Monotonic ordering

Alternative Sequence or revision numbers

Example Novelty detection:

1. Add sequence number to post

2. Record last seen seq. number per channel and user

3. On revisits: highlight posts with higher seq. number

(32)

Purpose: Sort, Novelty and Etag

Property Monotonic ordering

Alternative Sequence or revision numbers

Example Novelty detection:

1. Add sequence number to post

2. Record last seen seq. number per channel and user

3. On revisits: highlight posts with higher seq. number

(33)

Purpose: Sort, Novelty and Etag

Property Monotonic ordering

Alternative Sequence or revision numbers

Example Novelty detection:

1. Add sequence number to post

2. Record last seen seq. number per channel and user

3. On revisits: highlight posts with higher seq. number

(34)

Mattermost Case Study: Summary

Goal Analysis of timestamp usage and purposes

Findings majority of PII timestamps is not used only a small proportion is visible to users programmatic usages have potential for data minimisation

Limitation Case study is not representative

Future Expansion to other software

Improvement of the usage analysis (automation, reproducibility)

Investigation of possible causes (anti patterns)

(35)

Mattermost Case Study: Summary

Goal Analysis of timestamp usage and purposes

Findings majority of PII timestamps is not used only a small proportion is visible to users programmatic usages have potential for data minimisation

Limitation Case study is not representative

Future Expansion to other software

Improvement of the usage analysis (automation, reproducibility)

Investigation of possible causes (anti patterns)

(36)

Mattermost Case Study: Summary

Goal Analysis of timestamp usage and purposes

Findings majority of PII timestamps is not used only a small proportion is visible to users programmatic usages have potential for data minimisation

Limitation Case study is not representative

Future Expansion to other software

Improvement of the usage analysis (automation, reproducibility)

Investigation of possible causes (anti patterns)

(37)

Mattermost Case Study: Summary

Goal Analysis of timestamp usage and purposes

Findings majority of PII timestamps is not used only a small proportion is visible to users programmatic usages have potential for data minimisation

Limitation Case study is not representative

Future Expansion to other software

Improvement of the usage analysis (automation, reproducibility)

Investigation of possible causes (anti patterns)

(38)

Contact

Christian Burkert

Tel. +49 40 42883-2406

Mail [email protected] I’d be happy to hear from you!

OpenPGP Fingerprint:

9B97 CC4B 5FF4 7BA3 EF7B 1966 A5FB 6E0B 41AC CDFB

(39)

Timestamp Type and their Programmatic Usage

Type Usage Category

Create EditLimit, Expiry, PostNovelty, Sort, State Update Etag, Filter, State

Delete StateDeleted LastActivityAt MinElapse, Timeout LastViewedAt PostNovelty

ExpiresAt Expiry

References

Related documents

A mathematical model was used for estimating the solar radiation on a tilted surface, and to determine the optimum tilt angle and orientation (surface azimuth angle) for the solar

• Bored piling is cast by using bored piling machine which has specially designed drilling tools, buckets and grabs, it’s used to remove the soil and rock. Normally it can be

Due to the certain uniqueness of Canadian oil sands projects, industry benchmarking data should be collected and calibrated by the owner companies to ensure that appropriate

Airless spraying using Fine Finish spray tips, combined with electronic pressure controls and low pressure, can provide an HVLP-like pattern. Industrial jobs: Professional

3 Structuring these teams as small cross-functional teams who collectively have the ability to move a vendor through the process end-to-end is likely more in keeping with Scrum.

Smoked chicken tortilla chips, served with Chihuahua cheese sauce, sour cream, avocado, diced tomato, green onions, cilantro and salsa roja. WING TOSS 125,

+Total Debt + + Underinvestment Costs Hypothesis Market-to-book Value (MTBV) Liquidity Ratio (LQ1) Current Ratio (LQ2) Market Capitalization/Book Value Cash + Cash

Da vom Agrostin aus Agrostemma githago nur die Molekülmasse sowie der isoelektrische Punkt bekannt sind und da in der nahen Vergangenheit bereits zytotoxische Untersuchungen mit