# \[Pre-Pitch\] Import access control: a modest proposal

**URL:** <https://forums.swift.org/t/pre-pitch-import-access-control-a-modest-proposal/50087>\
**Category:** Pitches\
**Created:** [June 28, 2021, 11:41pm UTC](https://forums.swift.org/t/pre-pitch-import-access-control-a-modest-proposal/50087 "2021-06-28T23:41:56Z")\
**Posts on this page:** 1\
**Showing post:** 23

<div class="post-metadata">

**Author:** ![Joe\_Groff](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/joe_groff/32/1929_2.png) [@Joe\_Groff](https://forums.swift.org/u/Joe_Groff)\
**Post date:** [June 30, 2021, 3:41pm UTC](https://forums.swift.org/t/pre-pitch-import-access-control-a-modest-proposal/50087/23 "2021-06-30T15:41:41Z")

</div>

Reusing the access control markers in some form on `import` makes sense to me. However, the default behavior of `import` today is also the "wrong" one from the perspective of trying to minimize implicit API liabilities. Could we conceivably change the default behavior of `import` in a future language mode? One way we could potentially phase this in could be to start warning about `import` statements that don't specify a visibility in Swift 6, encouraging existing code to audit the visibility of their imports, and then changing the default in Swift 7 so that imports are implementation-only by default.

---

_[View the full topic](https://forums.swift.org/t/pre-pitch-import-access-control-a-modest-proposal/50087)._
