Access audit of baresql_fx_clean
26 October 2026, 12:00 UTC · PostgreSQL 16.15 (Ubuntu 16.15-0ubuntu0.24.04.1) · 2 logins · BareSQL 0.1.0
Findings
Nothing to flag.
Who can read personal data
| Login | Personal data | Columns | Tables | Changes | Notes |
|---|---|---|---|---|---|
| clean_app | email addressperson's name | 2 | 1 | 1 |
Personal data in this database
| Column | Holds | How BareSQL knows | Read by |
|---|---|---|---|
| app.customers.email | email address | 30 of 30 sampled values are email addresses | clean_app |
| app.customers.full_name | person's name | the column name suggests person's name | clean_app |
Logins
clean_app
| Personal data it can read | Holds | How |
|---|---|---|
| app.customers.email | email address |
|
| app.customers.full_name | person's name |
|
6 other columns it can read
| Column | How |
|---|---|
| app.customers.id |
|
| app.customers.created_at |
|
| app.orders.id |
|
| app.orders.customer_id |
|
| app.orders.total |
|
| app.orders.created_at |
|
What it can change (3)
| Table | Privilege | How |
|---|---|---|
| app.customers personal data | INSERT |
|
| app.customers personal data | UPDATE |
|
| app.orders | INSERT |
|
clean_reports
Reads no personal data.
5 other columns it can read
| Column | How |
|---|---|
| app.orders.total |
|
| app.orders.created_at |
|
| reports.daily_sales.day |
|
| reports.daily_sales.orders |
|
| reports.daily_sales.revenue |
|
Functions that run with someone else's rights (1)
| Function | Runs as | How |
|---|---|---|
| reports.order_count() | clean_counter |
|
Everyone (PUBLIC)
What every role can read, including roles created after this audit.
No personal data is open to every role.
Method
Schemas audited: app, public, reports. Connection: postgres://[email protected]:5432/baresql_fx_clean, login method md5.
BareSQL never calls a function written in SQL or a procedural language, never reads views or foreign tables, and never writes. Sampled values are turned into text by their type's own output function, never by a cast, and each table is read on its own, without its partitions or child tables. Views are traced to the columns they read from their stored definitions, without running them.
Every fact in this report is also in audit.json, which baresql diff and baresql audit --baseline compare with a later audit.