Summary Digital Access & Privacy Trade-off Acknowledges
This page is a Proof-of-Work challenge screen for the FreeCAD wiki, which frames anti-scraping protection as necessary to preserve collective access to free technical knowledge. The content acknowledges a genuine conflict between preventing exploitative scraping and maintaining open information access, positioning the barrier as a temporary compromise. However, the system creates significant accessibility barriers, particularly by requiring users to disable privacy plugins (JShelter) to proceed, which undermines Article 19 (freedom of information) and Article 25 (accessibility) protections even as it serves to protect the underlying open-knowledge mission.
It's what caused me to move away from FreeCad to OnShape. Never had an issue in OnShape but got hit with it every time in FreeCad. The sad thing is that there was a fork for a long time which had addressed this problem, and added other nice enhancements as well, but they never merged that work. I guess every org has political problems and FreeCad is no exception.
Unless I missed it, the article doesn't answer the first question you'd ask: Why don't they just generate unique IDs for everything and use those internally, instead of names that get changed all the time?
Solvespace has a fairly robust solution to this problem - for the cases that it handles. It does not create accessible edges for things like the intersection of surfaces, which won't be a big deal until we have a chamfer/fillet tool where you might want to modify those edges. But change an underlying sketch all you want and all geometry built from it will remain intact except for stuff built on something you delete.
IIRC the FreeCAD solution tends to create names of ever-increasing length as you continue building.
How does OnShape handle that problem? The linked page seems to make the case that most CAD suffers from this, others just "hide" it better;
> This problem is not unique to FreeCAD. It is generally present in CAD software, but most other CAD software has heuristics to reduce the impact of the problem on users.
The wiki page explains that as from Freecad 1.0, the work done by Realthunder in the topological naming problem has been merged into Freecad. Not that everything is solved. Just to mention that the work of Real thunder was not lost.
This isn’t accurate. FreeCAD merged the main changes from that fork (RealThunder) to fix (well, mitigate) the problem. That’s the big thing with 1.0.
Although… as others have noted, this is a problem with basically all CAD packages, as on a fundamental level, it depends on user design intent. Just some have enough bandaids that it’s more rare.
I’ve experienced similar problems (not totally sure if they were exactly the “topological naming problem” but certainly similar from the description) in Solidworks many times. Not usually a major problem - just a reworking or removal / re-adding of some features needed.
I’ve not encountered the same issue in FreeCAD 1.1 (to which I’ve transitioned recently). There are of course other frustrating niggles in FreeCAD, but not this one (yet).
I had the same experience, but instead of moving away from FreeCAD to OnShape, I moved to the fork that you mentioned, by RealThunder. Works great! Eventually the main branch mostly caught up.
Whether it's unique IDs or names, the problem is the same: topology changes destroy the things you’re identifying. When you have a box and you assign ID face_007 (or a generated unique ID) to its top face, that works fine until you fillet an edge adjacent to that face. Now the kernel has to recompute the geometry and depending on the operation, face_007 might still exist in a different shape, might split into multiple faces, or be destroyed completely.
The geometric kernel is doing boundary representation operations so when you do a boolean or a fillet, it doesn’t “edit” existing faces, it computes an entirely new b-rep from scratch. The old faces, edges, and vertices are gone and new ones are created to replace then. There’s nothing to hang a persistent ID on because the entities themselves are ephemeral.
There are solutions to the problem but they all break down eventually. I think freeCAD uses topological tracing and naming schemes so it encodes a face’s identity by how it was created. e.g., “the face generated by the intersection of extrude_1 and the XY plane.” The problem then is that parameter changes or operation insertions in the history can destroy those too, creating a new feature that can’t be easily mapped to the old ones. That’s where all the heuristics come in.
Unique IDs are used internally, but they only last for the lifetime of one evaluation. The hard part is establishing the equivalence between entities across re-evaluations when the topology itself may have changed.
They have that but when you change something, often some elements get deleted and others are added. Now you need to figure out how they relate to the previous elements and that’s very hard it seems.
Editorial Channel
What the content says
+0.50
Article 27Cultural Participation
High A: Advocacy for open knowledge and creative commons F: Free software framing P: Access barrier to creative knowledge
Editorial
+0.50
SETL
+0.57
FreeCAD is explicitly open-source software, supporting Article 27 right to participate in cultural and scientific progress. Wiki provides free access to technical documentation and creative knowledge. Content promotes sharing of creative and scientific work without proprietary restriction.
FW Ratio: 50%
Observable Facts
FreeCAD is open-source software supporting free participation in technical creativity.
Wiki provides free documentation supporting access to design knowledge and tools.
Content is part of free knowledge commons rather than proprietary or paywalled system.
Inferences
Open-source mission directly supports Article 27 rights to participate in cultural and scientific advance.
Proof-of-work barrier temporarily restricts this participation, though does not prevent it entirely.
Free access model (once verified) enables participation in creative and technical progress without cost barriers.
+0.40
Article 26Education
Medium F: Open-source access to technical knowledge P: Barrier to learning and skill development
Editorial
+0.40
SETL
+0.45
FreeCAD wiki provides free technical education and documentation supporting Article 26 right to education. Content is designed for learning and skill development.
FW Ratio: 60%
Observable Facts
FreeCAD wiki documents complex design and CAD concepts, supporting technical education.
Access to educational content is temporarily gated by proof-of-work challenge.
Content is free and not paywalled, supporting equitable education access.
Inferences
Wiki mission supports education access, but the verification mechanism creates temporary barrier to learning.
Free access model, once verified, supports educational rights without cost discrimination.
+0.35
Article 19Freedom of Expression
Medium F: Free knowledge as antidote to exploitative scraping A: Advocacy for open information access P: Access barrier reduces immediate information availability
Editorial
+0.35
SETL
+0.44
Wiki framing supports freedom to seek, receive, and impart information. Content acknowledges tension between open knowledge (wiki mission) and protective access controls.
FW Ratio: 60%
Observable Facts
Page is hosted on FreeCAD wiki, an open-source knowledge repository.
Anubis system explicitly requires disabling JShelter privacy plugin to proceed.
Message states the goal is protecting collective access ('makes their resources inaccessible for everyone').
Inferences
The wiki mission is to enable information access, positioning this page as serving Article 19 goals.
The access verification mechanism directly contradicts Article 19 by requiring users to disable privacy protections, creating a choice between information access and privacy rights.
+0.30
Article 12Privacy
Medium F: Privacy protection framed as necessary to prevent exploitation P: Metadata collection (IP, User-Agent) as security mechanism
Editorial
+0.30
SETL
+0.35
Content explains Anubis as protective mechanism against exploitative scraping. Framing positions privacy-preserving measures as defensive rather than invasive.
FW Ratio: 50%
Observable Facts
Page metadata shows collection of 'User-Agent' and 'X-Real-Ip' fields in the challenge response.
Metadata collection is tied to the proof-of-work challenge verification mechanism, not general analytics.
Inferences
Metadata collection is functional to security rather than exploratory surveillance, supporting privacy rights interpretation.
However, IP address collection remains identifiable information that could be linked to individuals in aggregate.
+0.25
Article 20Assembly & Association
Medium F: Collective action framing for shared resource protection
Editorial
+0.25
SETL
+0.19
Content frames the Anubis system as a collective solution to a shared problem. Message appeals to collaborative thinking about resource sustainability.
FW Ratio: 50%
Observable Facts
Message emphasizes 'the scourge' as a collective problem affecting 'everyone.'
Anubis is described as 'a compromise' solution developed by administrators, suggesting deliberative community governance.
Inferences
Framing treats resource protection as a collective action problem requiring shared solutions.
Distributed proof-of-work burden suggests non-hierarchical burden-sharing compared to server-side-only restrictions.
+0.20
Article 1Freedom, Equality, Brotherhood
Medium F: Framing of shared global problem with collective solution
Editorial
+0.20
SETL
+0.26
Content invokes the concept of collective resource protection ('makes their resources inaccessible for everyone'), implying recognition of equal dignity and shared vulnerability.
FW Ratio: 50%
Observable Facts
Message addresses 'the scourge of AI companies aggressively scraping websites' as a collective problem affecting all users.
System applies identical computational challenge to all users attempting first access.
Inferences
Framing treats the access problem as shared among all humans, supporting equal dignity principle.
Equal application of burden may constitute equal treatment in form but not in practice for users with disabilities or limited resources.
+0.20
Article 29Duties to Community
Medium F: Community responsibility for shared resource protection
Editorial
+0.20
SETL
+0.26
Message frames Anubis as a compromise solution balancing individual user burden with collective benefit. Acknowledges that access restrictions serve community interests in sustainability.
FW Ratio: 50%
Observable Facts
Message states Anubis is 'a compromise' balancing individual and collective interests.
System aims to prevent 'mass scraper' access that would 'cause downtime for the websites, which makes their resources inaccessible for everyone.'
Inferences
Framing positions individual computational burden as part of duty to sustain collective access.
This invokes Article 29 responsibility to the community, though the mechanism imposes this burden unequally.
+0.15
PreamblePreamble
Medium F: Framing of AI scraping as threat to human access P: Proof-of-work barrier reduces accessibility
Editorial
+0.15
SETL
+0.32
Content frames the Anubis system as protective of collective access rights, positioning anti-scraping measures as preserving resource availability for all users. Acknowledges tension between automated access and human rights to access.
FW Ratio: 60%
Observable Facts
Page displays a Proof-of-Work challenge requiring computational effort before content access is granted.
Anubis system explicitly requires modern JavaScript features and disables JShelter privacy plugin functionality.
Administrative message states system is deployed to 'protect the server against AI companies aggressively scraping websites' and prevent resource downtime.
Inferences
The framing positions access restriction as a protective measure serving collective user interests rather than exclusionary control.
Technical requirement to disable privacy plugins creates a direct conflict between individual privacy rights and access to public knowledge.
ND
Article 2Non-Discrimination
No observable content addressing discrimination or distinction.
ND
Article 3Life, Liberty, Security
No observable content addressing security or liberty.
ND
Article 4No Slavery
No observable content addressing slavery or servitude.
ND
Article 5No Torture
No observable content addressing torture or degrading treatment.
ND
Article 6Legal Personhood
No observable content addressing right to recognition before law.
ND
Article 7Equality Before Law
No observable content addressing equal protection before law.
ND
Article 8Right to Remedy
No observable content addressing right to remedy.
ND
Article 9No Arbitrary Detention
No observable content addressing arbitrary arrest or detention.
ND
Article 10Fair Hearing
No observable content addressing fair trial and due process.
ND
Article 11Presumption of Innocence
No observable content addressing criminal liability or innocence.
ND
Article 13Freedom of Movement
Low P: Free wiki structure enables movement of information
No explicit content addressing freedom of movement.
FW Ratio: 50%
Observable Facts
FreeCAD wiki is a knowledge-sharing platform accessible globally once initial barrier is passed.
Inferences
The wiki infrastructure supports freedom of information movement across borders, though temporarily restricted by access verification.
ND
Article 14Asylum
No observable content addressing asylum or refuge.
ND
Article 15Nationality
No observable content addressing nationality.
ND
Article 16Marriage & Family
No observable content addressing marriage or family.
ND
Article 17Property
No observable content addressing property rights.
ND
Article 18Freedom of Thought
No observable content addressing freedom of thought or conscience.
ND
Article 21Political Participation
Low P: Wiki community governance structure
No observable content addressing political participation.
FW Ratio: 50%
Observable Facts
FreeCAD wiki structure allows community editing and participation in knowledge organization.
Inferences
Wiki governance model supports participation rights, though access verification creates friction.
ND
Article 22Social Security
No observable content addressing social security.
ND
Article 23Work & Equal Pay
No observable content addressing work or fair wages.
ND
Article 24Rest & Leisure
No observable content addressing rest or leisure.
ND
Article 25Standard of Living
Medium P: Accessibility barrier for disabled users and privacy-tool users
No explicit content addressing standards of living or health.
FW Ratio: 60%
Observable Facts
System requires JavaScript and explicitly instructs users to disable JShelter accessibility/privacy plugin.
Proof-of-work computation requires device resources and may fail on low-power devices.
No alternative text-based or lightweight verification method is offered.
Inferences
The technical requirements disproportionately impact disabled users who rely on accessibility plugins and users with low-resource devices.
Forcing the choice between privacy protection (JShelter) and access to information directly undermines Article 25 rights for privacy-conscious users.
ND
Article 28Social & International Order
Low P: Access restriction impedes rights realization
No observable content addressing social and international order.
FW Ratio: 50%
Observable Facts
Anubis system is framed as temporary placeholder while better solutions (fingerprinting headless browsers) are developed.
Inferences
System aims to sustain the platform's ability to provide services long-term, supporting rights realization infrastructure.
ND
Article 30No Destruction of Rights
Low P: Anubis prevents system abuse
No observable content addressing rights restriction or abuse prevention.
FW Ratio: 50%
Observable Facts
Anubis is explicitly designed to prevent abuse of server resources through mass scraping.
Inferences
Access control mechanism aims to prevent rights abuse (resource extraction) that would deny others their rights.
Structural Channel
What the site does
Domain Context Profile
Element
Modifier
Affects
Note
Privacy
+0.15
Article 12
Anubis proof-of-work system collects User-Agent and IP metadata to distinguish bots from humans. This is protective anti-scraping measure rather than surveillance, supporting privacy by preventing resource exhaustion attacks.
Terms of Service
—
No observable terms of service content on this page.
Accessibility
-0.20
Article 25 Article 27
Anubis system requires modern JavaScript and blocks JShelter privacy plugins, creating accessibility barrier for users with disability accommodations or privacy-conscious users. This trade-off reduces general accessibility.
Mission
+0.20
Article 27 Article 19
FreeCAD is open-source software wiki supporting free knowledge and creation. Mission inherently supports access to information and creative works.
Editorial Code
—
No editorial code or content standards visible on this page.
Ownership
+0.10
Article 19 Article 27
Wiki format and open-source context suggest collaborative community governance rather than centralized corporate control.
Access Model
+0.05
Article 19
Free access to wiki content supports information access, though Anubis verification may create friction for legitimate users.
Ad/Tracking
—
No advertising or tracking pixels visible on this page.
+0.15
Article 21Political Participation
Low P: Wiki community governance structure
Structural
+0.15
Context Modifier
0.00
SETL
ND
Wiki model enables community input on knowledge curation, though access barrier may reduce participation.
+0.10
Article 13Freedom of Movement
Low P: Free wiki structure enables movement of information
Structural
+0.10
Context Modifier
0.00
SETL
ND
Wiki structure itself supports free circulation of knowledge, though access barrier temporarily restricts movement into this particular page.
+0.10
Article 20Assembly & Association
Medium F: Collective action framing for shared resource protection
Structural
+0.10
Context Modifier
0.00
SETL
+0.19
Wiki structure supports community collaboration. Proof-of-work system distributes burden across all users equally rather than centralizing control.
+0.05
Article 30No Destruction of Rights
Low P: Anubis prevents system abuse
Structural
+0.05
Context Modifier
0.00
SETL
ND
Proof-of-work system is designed to prevent exploitation of platform access rights by mass scrapers.
-0.10
Article 12Privacy
Medium F: Privacy protection framed as necessary to prevent exploitation P: Metadata collection (IP, User-Agent) as security mechanism
Structural
-0.10
Context Modifier
+0.15
SETL
+0.35
System collects User-Agent and IP metadata for challenge verification. This is minimal data collection compared to commercial tracking, presented as protective rather than surveillance.
-0.10
Article 26Education
Medium F: Open-source access to technical knowledge P: Barrier to learning and skill development
Structural
-0.10
Context Modifier
0.00
SETL
+0.45
Proof-of-work verification creates friction to educational access. Users seeking to learn from this technical documentation must overcome the barrier first.
-0.10
Article 28Social & International Order
Low P: Access restriction impedes rights realization
Structural
-0.10
Context Modifier
0.00
SETL
ND
Proof-of-work barrier is presented as temporary protection measure, potentially supporting long-term rights by preventing resource exhaustion.
-0.15
Article 1Freedom, Equality, Brotherhood
Medium F: Framing of shared global problem with collective solution
Structural
-0.15
Context Modifier
0.00
SETL
+0.26
Proof-of-work burden falls equally on all initial visitors, though some may lack computational resources or accessibility tools to complete the challenge.
-0.15
Article 27Cultural Participation
High A: Advocacy for open knowledge and creative commons F: Free software framing P: Access barrier to creative knowledge
Structural
-0.15
Context Modifier
+0.10
SETL
+0.57
Proof-of-work verification gate creates friction to accessing creative and technical documentation. However, once accessed, content is freely shareable and modifiable (open-source model).
-0.15
Article 29Duties to Community
Medium F: Community responsibility for shared resource protection
Structural
-0.15
Context Modifier
0.00
SETL
+0.26
Proof-of-work system distributes responsibility across all users. Requires users to contribute computational effort as part of accessing the shared resource.
-0.20
Article 19Freedom of Expression
Medium F: Free knowledge as antidote to exploitative scraping A: Advocacy for open information access P: Access barrier reduces immediate information availability
Structural
-0.20
Context Modifier
+0.30
SETL
+0.44
Proof-of-work verification wall blocks immediate access to information. Requirement to disable privacy plugins (JShelter) forces user to choose between privacy and access. JavaScript dependency also restricts access for users with certain client-side restrictions.
-0.25
PreamblePreamble
Medium F: Framing of AI scraping as threat to human access P: Proof-of-work barrier reduces accessibility
Structural
-0.25
Context Modifier
0.00
SETL
+0.32
The proof-of-work verification wall blocks immediate access to content, creating friction. JavaScript requirement and JShelter plugin incompatibility systematically excludes users with privacy settings or accessibility tools.
-0.25
Article 25Standard of Living
Medium P: Accessibility barrier for disabled users and privacy-tool users
Structural
-0.25
Context Modifier
-0.20
SETL
ND
Anubis system creates accessibility barrier. Proof-of-work computational requirement excludes users with limited device capability. JavaScript requirement and JShelter incompatibility specifically exclude users relying on privacy and accessibility plugins. This restricts access to health and scientific information (FreeCAD is a design tool with technical documentation).
ND
Article 2Non-Discrimination
Anubis system applies uniform technical requirements regardless of protected characteristics, though this may differentially impact disabled users.
ND
Article 3Life, Liberty, Security
Access-blocking mechanism could be viewed as constraining liberty, though framed as protective.
ND
Article 4No Slavery
No structural signals present.
ND
Article 5No Torture
No structural signals present.
ND
Article 6Legal Personhood
No structural signals present.
ND
Article 7Equality Before Law
No structural signals present.
ND
Article 8Right to Remedy
No structural signals present.
ND
Article 9No Arbitrary Detention
No structural signals present.
ND
Article 10Fair Hearing
No structural signals present.
ND
Article 11Presumption of Innocence
No structural signals present.
ND
Article 14Asylum
No structural signals present.
ND
Article 15Nationality
Wiki content is globally accessible regardless of nationality once verification passes.
ND
Article 16Marriage & Family
No structural signals present.
ND
Article 17Property
No structural signals present.
ND
Article 18Freedom of Thought
No structural signals present.
ND
Article 22Social Security
No structural signals present.
ND
Article 23Work & Equal Pay
No structural signals present.
ND
Article 24Rest & Leisure
No structural signals present.
Supplementary Signals
Epistemic Quality
0.71medium claims
Sources
0.7
Evidence
0.6
Uncertainty
0.7
Purpose
0.8
Propaganda Flags
2techniques detected
appeal to fear
Message references 'the scourge of AI companies aggressively scraping websites' and describes downtime caused by scrapers, creating sense of urgent threat.
appeal to authority
References to 'Hashcash' and cryptographic standards implicitly appeal to technical credibility to justify the system.