§ How this was made
The perspectives in this article were written by the named contributors and submitted through Connectively. Connectively's automated system selected them and used AI to write the headline, introduction, section headings, summary sections, and illustration, and to make minor edits for clarity. Articles are assembled and published automatically. Report errors to corrections@connectively.us. How we make our content
Illustration generated with AI
HP
VV
JH
OM
DT
KB
JS
Ace ZhuoCEO | Sales and Marketing, Tech & Finance Expert, TradingFXVPSMask Sensitive Details and Expire Grants
1. The majority of security incidents occur as a result of leakage caused by human error rather than by hacking. The majority of leaks occur as a result of an exported client list from a database in a spreadsheet when the official route to the information took three days. The problem with slow access to information is a security problem. In order to solve business problems, we provide read-only replicas of databases with sensitive information masked at the view level. Sales and support teams are able to slice and dice information regarding churn, latency complaints, and renewals for customers by region in a matter of minutes, all without having to submit a ticket. If one can answer a business question without reference to the raw data, then one will never have to deal with the raw data in the first place. In fact, 90% of all questions posed by users regarding access to information can be answered without reference to the raw data.
2. All access grants expire after 30 days. There are no exceptions to this rule. Easy to grant, and sometimes it is forgotten that these accounts of former contractors, of people who long ago changed roles within a company, still exist and grant access to query customer data of little use to them nowadays. And this was discovered during our recent internal audit. We have changed the access now so that it will lapse automatically. Renewing access is now a matter of a single click and a brief reason for same. Such access can now lapse quietly in the background in a matter of seconds, as opposed to being against policy in tons of printed word that nobody reads. It costs nothing and uses no new tools. In the first quarter of the year, the number of people with sensitive access to customer data has decreased by more than half.
Hardik ParikhFounder, Gixo.aiIsolate Customer Records by Default
The simplest practice we have is separation by default: each customer's data lives in its own storage space, so there's no way to accidentally query across customers.
That sounds like plumbing, but it changes the conversation about access. When data is separated at the source, I can let people move quickly inside a customer's boundary without worrying that one bad query leaks across it.
The second part is boring discipline: before anything ships, a large set of automated tests checks who is allowed to open what. We run more than a thousand of those as part of every deploy, and a failure blocks the release.
Fast access and protection aren't opposites if the safe path is also the easy one. You can read more about how we keep customer data separate.
Volen VulkovCo-founder, EnhancvGive Teams Trends, Not Resumes
Our users trust us with their resumes, which are some of the most personal documents a person has: work history, contact details, sometimes the reason they left their last job. So our rule is simple. Colleagues get fast access to patterns, not people.
In practice, that means most of the company works from product analytics in Amplitude. Anyone on marketing, PR, or product can see how features are used, where people drop off, or how activity shifts over the year, without asking anyone and without seeing a single person's resume. That covers the vast majority of questions people actually have.
When someone needs something more detailed, the request goes to the data team, and the answer comes back aggregated. Our PR team builds research studies on our internal data, and every number that goes into them is a total, a median, or a percentage. Nobody outside the data team needs to read individual resumes to learn that job seekers go quiet in December.
This works because it changes the default. Most data leaks don't come from hackers. They come from a spreadsheet of raw user data that someone exported to answer one question and then emailed around. If the self-serve tools answer 90% of questions with aggregated data, people stop needing the export.
My advice: before you add access controls, look at what people are actually asking for. Usually it's a trend, not a record, and you can give them the trend instantly.
Jens HagelFounder & Owner, kjelloLet Owners Approve Portal Requests
Most small firms I meet solve access with shared passwords and full admin rights for everyone, because asking IT takes too long. We flipped it: in kjello, our IT platform, employees request access themselves in a portal at any hour, and the approval sits with the person who owns the data. Behind that, we check every night whether someone suddenly gained admin rights or an app got new keys, and a technician looks at each finding. Fast access and tight control stop fighting once the request is easier than the workaround.
Oscar MoncadaCo-founder and CEO, Stratus10Classify Inputs Before Team Use
The simple practice that's helped us most is restricting by data classification instead of by use case. Customer personal information, credentials, and anything in a client's compliance scope stays off-limits for tools like AI assistants. Everything else, such as internal docs, code, and non-sensitive drafts, teams can use freely. People only have to think once about what kind of data they're working with, instead of waiting on an approval for every new idea.
Underneath that, we separate access from accountability. Teams should be able to find and use data on their own, but no dataset gets provisioned without a named owner and a defined retention policy. That owner is responsible for accuracy, access rules, and how long the data lives. It forces a decision upfront that many organizations skip: do we need this data, who's responsible for it, and when should it go away?
The tradeoff is a little extra time when data is first provisioned. It's worth it, because the alternative is colleagues building reports and workflows on data that's stale, duplicated, or visible to people who shouldn't see it.
David ThoumasChief Technology Officer, HuwiseDeploy a Governed Information Marketplace
Balancing access and security is a central requirement when increasing usage of your data. Deploying a self-service data marketplace enables you to meet both requirements. The marketplace makes access to trusted data seamless for business users in an understandable, intuitive way, driving usage. At the same time, it links to corporate governance policies, such as through SSO, to provide granular access management that protects data. Employees only have access to data that is relevant to their role, ensuring that sensitive information is kept safe at all times - without preventing access for authorized users.
Kishore BitraLead - Collaboration Engineering, Baltimore City of Information and TechnologyAsk Who, What, and How Long
From my experience, protecting sensitive information starts with properly classifying and labeling documents before sharing them.
In Microsoft 365, OneDrive and SharePoint allow us to control who can access a document, whether they can view or edit it, and when a sharing link expires. The same approach applies to Google Drive, where we can assign Viewer, Commenter, or Editor permissions, restrict access to specific people, and set access expiration dates where supported.
For example, if a colleague needs to review a confidential report for a meeting, I prefer giving them view access for a limited period rather than allowing unrestricted access.
One simple practice I encourage my team to follow is asking three questions before sharing any sensitive document: Who needs access? What do they need to do with it? How long do they need it? I also emphasize regularly reviewing permissions because employees change roles and projects end, but access often remains in place. The goal is to make information easily accessible to the right people without leaving unnecessary security risks behind.
Review Claims Each Quarter
I give colleagues timely access by scheduling regular, focused reviews where we combine HRIS and enrollment data with claims reporting and model actual claims performance. The simple practice that helped my data team strike the balance was committing to quarterly claims reviews instead of an annual review. That cadence produced timely, actionable insight and reduced reactive decision-making so leadership could plan deliberately. In the engagement I described, this approach let us test level-funded options and make modest design changes with more predictable renewals.
Vlad BodeaCo-Founder & Board Member, BentoMap Requests to Approved Cases
I give colleagues timely access by using a clear operating standard that defines approved use cases, prohibited uses, named owners, and required approvals. The simple practice that helped my data team was requiring each access request to map to an approved use case and obtain sign-off from the named owner. We pair that with documented testing requirements, escalation paths, and audit-ready documentation so decisions stay traceable. Cross-functional alignment with developers, security, HR, legal, and business teams keeps approvals consistent and fast.
Test Inference Risks Before Approval
Data teams often protect tables, then lose sight of the risk created when harmless-looking fields are combined. I have found that access decisions improve when the question is not, "Is this column sensitive?" but, "What can this person infer after joining it with what they already have?" That shift catches exposure pathways that classifications miss, particularly in small customer segments.
A practice is testing access against an inference scenario before approval. Ask someone outside the request to describe the revealing conclusion from the proposed fields. If it identifies a person, account, or position, reduce granularity or add a threshold. This protects trust better than treating a spreadsheet as an isolated object.
Maksim PachkouskiDatabricks MVP / Senior Data Engineer / Databricks ArchitectConfigure Object-Level Permissions
It depends on the system you are using. In Databricks, for example, there is Unity Catalog, which allows you to configure access at the level of catalogs, schemas, and objects. System tables, meanwhile, contain detailed audit information.
Richard MeadowsHead of Content, StreamriseBound Production Reads and Separate Writes
The simple practice that helped us most: access is broad for reading and narrow for changing, and every read carries a time limit. Protecting data is not only about who can see it; it is also about making sure that looking at it cannot hurt the business.
Two real lessons from Streamrise that shaped this.
1. A read that hurt production. In early October, a one-off analytical query against our production database ran for 23.5 hours. It only read data, but while it ran it prevented the database's routine cleanup, dead rows piled up, and database CPU went from about 11% to 97-99%. With the database already overloaded, writes stalled for about 55 seconds that evening, long enough for a background service to treat it as a failure and restart its work across all its workers. Customers felt the dip. A day earlier we had also seen that dropping the connection that started a query does not stop it: one kept running in the database for 10 minutes after the session was gone.
The rule since then: every ad-hoc query against production starts with a 30-second statement timeout; large tables are only queried by indexed columns; and after any timeout or dropped connection, someone checks the database's list of active queries and cancels the leftover. The same rule is written into the instructions for every automated tool that can read production.
2. A read that turned into a write. In June, a delegated audit concluded that some customers were owed refunds, and the refunds were applied directly: 41 of them, across 30 customers. A check against the delivery provider's own records showed 30 of those 41 orders had in fact been delivered, and every refund was reversed. Since then, analysis of balances and payments is read-only by default, and any change to a customer's money happens only on an explicit instruction for that specific action.
What I would recommend to any data team: - Make reading easy and fast, but bounded: time limits by default, and big tables only through indexes. - Separate "can see" from "can act". Most people need the first; very few need the second, and almost never on money. - Name the source of truth in every analysis. In the refund case, the trouble started with trusting a derived number more than the system of record.
Evgeny LeonovChief Technology Officer, Ronas IT | Software Development CompanyBuild Dashboards, Restrict Source Records
I give colleagues a repeatable view of the measures behind their decisions and make access to sensitive source records a separate permission. At Ronas IT, we sync Zoho CRM, Google Analytics and ClickUp data into BigQuery. Marketing and sales examine leads, deals, channels and operations in Metabase dashboards over that shared data. Saved views and filters help them return to the same measure without asking an analyst for a fresh SQL query each time.
A dashboard gives the team a useful answer, but its interface alone can't protect the underlying data: a marketing colleague might need lead volume by channel without needing the contact details in the CRM records. I'd expose a view built for that decision, keep its fields limited to the audience's work and grant raw-row access separately to the people who require it. The permission must live at the data or query layer: if an account can query the source, hiding a dashboard column leaves another route to its values. Speed for a common question and authority over individual records are different choices.
The simple practice I recommend is an access review when a colleague changes roles and again on a recurring schedule. The owner of each view can ask who still needs the underlying records and remove permissions that have outlived the work. That review addresses access that was appropriate when granted but no longer is. It also leaves the common dashboard available, so colleagues aren't pushed back to bespoke extracts for routine questions.
Start with one shared view and a distinct approval path for raw records. When a new question arises, adapt the view first and widen source access only when someone's responsibilities call for it.
Rahul AgrawalFounder & CEO, QuickIntellDesign Views Around Decisions
A useful design practice at QuickIntell is to specify three things for each handoff: the source, the destination and the reviewer. That forces us to ask what the recipient actually needs to do the next task before deciding what information to expose.
For example, a scheduling queue may need an appointment status, an outstanding administrative action and the person responsible for resolving it. It should not automatically inherit the entire clinical narrative just because that narrative exists elsewhere in the workflow. Authorized reviewers can retain access to the underlying evidence without copying it into every operational view.
My recommendation is to design access around the decision, then have the appropriate data or privacy owner approve the roles and fields. That makes a useful view available by default and gives exceptional requests a clear review path. It also avoids making staff choose between waiting for every routine answer and distributing a much broader dataset than their task requires.
Jimi PatelDirector, eStore Factory LLCOpen Aggregate Metrics, Guard Personal Details
Amazon sellers hit this problem the moment they bring anyone else into the account, and Seller Central's permission model is a good template for any data team.
Under User Permissions, you can grant each person None, View, or View and Edit rights per area: Inventory, Pricing, Advertising, Reports, Payments and more. Many owners skip this and hand out admin access, which means a freelance PPC manager can see settlement reports and bank details they never needed. The fix is boring and it works: give people view access to the performance reports they use every day, and keep payments, user management and buyer information with one or two named owners.
The same idea applies when you build reporting on SP-API. Amazon splits its data into roles, and buyer personal information sits behind restricted roles that need separate approval and a Restricted Data Token on every call. Most operational questions never need those roles. Account health, listing quality, sales trends, inventory age and ad metrics can all be answered without a single customer name or address.
The simple practice that strikes the balance: classify every dataset as aggregate or personal before it reaches a dashboard. Aggregate data such as sessions, unit session percentage, ACOS and IPI score goes to everyone who needs it, refreshed daily, with no approval queue. Personal data stays in the source system with named access only and never gets copied into spreadsheets or BI tools.
Speed comes from making the aggregate layer wide open. Protection comes from keeping the personal layer out of the reporting stack entirely. Once teams see that the numbers they need are always one click away, they stop asking for raw exports, which is where most leaks start.
Sam Simpson OldaleHead of Product Development, TribepadShare Relevant Business Insights
Transparency doesn't mean everyone needs access to everything.
At Tribepad, we're very open about business performance through quarterly town halls and regular leadership communication. People are encouraged to own their KPIs, understand their targets and see how their work contributes to wider company goals.
The simple practice is sharing the right level of data with the right people. Sensitive information stays protected, but useful business insight shouldn't be hidden unnecessarily.
When people understand the numbers behind the business, they can make better decisions and take more ownership of the outcome.
Jose GaviriaAI Food Tech Specialist, Comi AIEnforce Per-User Database Rules
Colleagues get an anonymized, question-ready view of the data by default, and the raw rows stay tied to the person they belong to. In a food app that matters, because a meal log is personal. What someone eats on a Tuesday night says a lot about their life.
The practice I push for is row-level security in the database, set up before anyone asks for access. Each person's records can only be read through that person's own account. A teammate with a product question, like which dishes get corrected most often after a photo scan, works from aggregated tables with no names or emails attached. Nobody has to approve anything, so the answer comes back in minutes.
I like putting the rule in the database because a policy document depends on everyone remembering it on a busy day. A database rule applies every time, whoever is asking and however rushed they are. The same setup lets a person export or delete their own data from inside the app, so control stays with the owner of the data.
When someone does need a single raw record for debugging, I treat that as its own deliberate request for that one case. Most questions never get there, which keeps the exception list short enough to actually review.
saiprasad charudatta shrikhandeSenior Manager, Multinational IT Service CompanyMask Logs Before Team Access
Most of the data my teams handle comes from device and network logs generated during certification and field testing. Engineers need those logs quickly, often the same day, because product launch timelines don't wait for access approvals. At the same time, these logs can contain subscriber identifiers, phone numbers, location information, and data shared by carrier partners under NDA. For us, the question was never whether to share the data, but how much of it people actually needed.
The practice that made the biggest difference was simple: we stopped sharing raw logs by default.
Every incoming log goes through a masking process before it becomes available to the wider team. IMSI, IMEI, phone numbers, and location fields are replaced with consistent tokens. This allows engineers to follow the same device across an entire call flow or troubleshooting session without exposing the subscriber's identity. In most debugging scenarios, the actual identifiers are not needed.
Masked logs are made available through a shared project folder, so engineers can access them immediately without waiting for individual approvals.
Raw logs remain restricted to a small group, typically two or three senior engineers per program. If another engineer needs the original data to investigate a specific issue, access is approved for that purpose and expires when the investigation closes. We had a case where a handover failure could only be reproduced using a particular subscriber profile. That was a valid reason for temporary raw-data access, but it should remain an exception rather than standard practice.
Previously, access was handled through individual folder requests. Approvals could take a day or two, and access was rarely removed afterward. During one program audit, we found engineers who had moved to other accounts months earlier still had access to carrier-partner data. That highlighted the need to change the process.
We now tie access directly to project membership. Engineers joining a program automatically receive access to masked data, and access is removed when they leave. We also conduct quarterly reviews, which take about twenty minutes because access is much better controlled.
My approach to the team is straightforward: the fastest way to share data safely is to share only what people need. When sensitive information is protected upfront, engineers can work without unnecessary delays, while security, partner confidentiality, and accountability remain intact.
Pravin NagareLead Software Engineer, Roku, Inc.Convert Common Queries Into Reports
I make the common questions easy to answer through a read-only reporting view. Most colleagues need to understand what's happening in the business. If you give them a customer-level export, that often creates more work and more exposure than the question requires.
In a subscription workflow at a major consumer streaming platform, a useful change was to give product and operations colleagues a shared view of payment failures by error category, software version and market. Previously, a regular investigation could start with a request for an engineer to pull transaction records. We moved those recurring questions into the reporting view and left customer identifiers and payment details out of it.
That let colleagues check whether a release or a particular failure category needed attention before asking for access to individual records. We kept the view behind role-based access and showed when the data was last refreshed. A report that looks current but isn't can send a team in the wrong direction.
When a case required customer-level investigation, we handled that as a separate, scoped request. The person needed to explain the issue they were investigating and why they need this data. Access was limited to the relevant records and time period. That exception stayed available without becoming the normal route for every question.
The practical habit was to review recurring access requests and turn the common ones into approved reporting views.
If people need customer records to answer routine business questions, the reporting layer needs work.
Soham MehtaGrowth Lead, JitsuRemove Identifiers Before Delivery
Strip the sensitive fields before the data lands, not after.
Plenty of teams do it the other way round. Everything goes into the warehouse, then someone builds views and permissions to hide emails, IPs and payment details. That holds until someone queries the raw table, or a new tool gets connected with broad access.
If you drop or mask those fields in the pipeline, the warehouse never holds them. There's nothing to leak, and access requests get easy to approve. In Jitsu this is a function that runs on every event before delivery: drop the IP, mask the email, pass the rest through. Functions run per connection, so the ad platform and the warehouse each get a different cut of the same event.
The other lever is where the pipeline runs. A collector inside your own cloud means raw events never pass through a third party. Jitsu is MIT-licensed and runs inside your own VPC.
After that, access is simple. Analysts get broad read access to the cleaned tables, and raw data stays with a very small group.
Timur RakhmatullinSenior Software Engineer, Softline SolutionsBake Protections Into Query Layers
The practice that made the biggest difference for us was dead simple and it is not some fancy tool. We stopped giving people access to raw tables and started building what I call "view layers" that automatically strip sensitive fields before anyone touches the data.
At Softline Solutions, where I manage data infrastructure for about 1,500 corporate accounts on Google Cloud Platform, we use BigQuery row-level security combined with column-level masking. When a marketing analyst queries the customer table, they see purchase amounts, product categories, and anonymized region data. They never see names, emails, or phone numbers. Same query, same table, different view depending on your role. The analyst does not even know the sensitive columns exist because they are filtered out before the results hit their screen.
The key insight here is that access speed and data protection are not actually competing goals. They feel that way because most teams make the mistake of putting security in the request path. An analyst needs data, they file a ticket, someone in security reviews it, three days later they get access. That is not data protection, that is a bottleneck wearing a security costume.
What we did instead at MyTona, where I spent about eight years building backend systems for mobile games with around 50 million users, was push the protection into the data layer itself. We tagged every column in our warehouse as public, internal, or restricted when we created it. The tagging took our data engineering team maybe two weeks. After that, anyone could query anything instantly because the sensitive parts were already masked or filtered at the infrastructure level. No tickets, no waiting, no risk.
The result was surprising. Data usage across teams went up by roughly 40 percent because people stopped avoiding the data warehouse out of fear of the access request process. And our security incidents related to data exposure dropped to zero for eight straight months. Turns out when you stop relying on humans to make access decisions for every query and bake the rules into the platform, both speed and safety improve together.
Scott StoufferCo-Founder + CTO, Market BrewPreserve Entitlements Across Interfaces
Our simple rule is that a more convenient interface must use the same permission checks as the original system.
At Market Brew, our MCP connection gives compatible AI clients read-only access to data that the connected account is already allowed to see. Account and membership permissions still apply. The connection cannot create, edit, delete, or start jobs, and account status is rechecked during authorization, refresh, and API access.
That gives an authorized user another way to retrieve and discuss information without giving the assistant broad powers to change the system. I would keep consequential actions in a separate, explicitly controlled workflow.
I also check the destination: an approved user sending data to an AI client does not automatically make every downstream provider appropriate for that data. Read-only access is useful scope control, not a complete privacy policy.
The practical balance is to make the permitted path convenient. If the task only needs retrieval, do not solve usability by widening access or adding write permissions.
Al IversonIndustry Research and Community Engagement Lead, ValiMailAutomate Identity Verification
We solve this by treating automated identity verification as the gatekeeper rather than locking data behind manual approval queues. In practice, setting up clear authentication rules ensures colleagues get immediate access while unverified or spoofed requests are blocked on the spot.
The simplest practice that works for us is automating identity checks at the infrastructure level rather than relying on manual sign-offs. At Valimail, where we focus on Zero Trust email authentication, we see the same principle hold true across company systems. When trust decisions happen automatically in the background, legitimate staff never face operational delays, and unauthorized traffic gets dropped before it reaches sensitive assets.
Vishnuvardhan Reddy KaithapuramSoftware Development Engineer, AmazonValidate Pipelines at Ingestion
Take one defect - a column renamed by an upstream team, or the loss of 20% of a day's events due to partial outages. If detected at ingestion, the cost is a quarantined batch and a downstream discussion. But if detected a day later in an executive dashboard, the cost is reprocessing all downstream tables, invalidating cached aggregates, rerunning downstream models, and repairing the confidence of everyone who saw a wrong number. One defect, two scenarios, and vastly differing costs. The value of reducing detection latency far outweighs the benefits of any individual detection technique.
Researchers realized this years ago, and this is why Amazon, having identified that data validation traditionally occurred manually while software validation was highly automated, invested in declarative, unit-test style quality validation that could scale to billions of rows of data by calculating metrics over incrementally ingested data. A separate team at Google arrived at a similar conclusion, finding that schema validation and skew detection should be treated as pipeline features, not manual ad-hoc processes. Data quality is pipeline code, and the lessons about test-driven development and infrastructure as code apply just as strongly to data as they do to software.
The failure modes which have proven most challenging to pipelines at scale fall into three broad categories, each of which has a technique particularly well suited to addressing it. Schema drift is when producers change what columns they write, or how they use existing columns, and requires explicit schema validation at the pipeline boundary to detect.
Philip Van den BergeFounder, Flippie LabsTailor Dashboard Rows by Role
The mistake I see is treating access as all or nothing. Either the data is locked away and people wait days for someone to export it, or everyone gets the full file and sensitive numbers end up in places they shouldn't.
The simplest practice is to give everyone the same report and let the data decide what each person sees. In Power BI that's row-level security: a regional manager opens the same dashboard as the director, but only sees their own region's rows. Salaries, customer details and other sensitive fields simply aren't in the shared model; they live in a separate one that only a few people can open.
That way you don't have to maintain ten copies of a report for ten audiences, which is where leaks usually happen, because somebody forwards the wrong copy. People get their numbers the same day, and the protection is built into the data instead of depending on everyone remembering the rules.
