Skip to content
Notifications
Clear all

Migrated from Dashlane to 1Password Business - 6 month report

20 Posts
18 Users
0 Reactions
86 Views
(@integration_jane_new)
Reputable Member
Joined: 7 months ago
Posts: 304
Topic starter   [#24014]

After six months of operational use following a structured migration from Dashlane Business, I am prepared to share a detailed technical and workflow analysis. Our migration involved 87 users across engineering, sales, and operations, with a primary requirement of maintaining integrity in shared credential workflows and SSO logins. This report will focus on integration points, data mapping efficacy, and API stability.

## Core Migration & Data Mapping Process
The export from Dashlane was relatively straightforward, yielding a JSON structure. However, the mapping to 1Password's schema required careful transformation. Primary challenges included:
* **Custom Field Translation:** Dashlane's flexible "extra fields" did not always map cleanly to 1Password's defined field types (e.g., `text`, `concealed`, `email`). We wrote a preprocessing script to categorize common patterns.
* **Shared Collection Equivalency:** Mapping Dashlane's "Shared Permissions" to 1Password's nested `Vault` and `Group` structure was the most significant architectural shift. We adopted a vault-per-department model, with groups for permission granularity.

A snippet of our mapping logic for custom fields is below. This was run in a middleware layer during import.

```python
# Example transform for a suspected API key field from Dashlane's 'extra_fields'
def transform_extra_field(field_name, field_value):
if 'api' in field_name.lower() or 'key' in field_name.lower():
# Maps to 1Password's 'concealed' type, with a 'password' designator
return {
"type": "concealed",
"designation": "password",
"value": field_value,
"name": field_name
}
# Default to a text field
return {
"type": "string",
"value": field_value,
"name": field_name
}
```

## Integration & API Evaluation
Our stack relies heavily on the 1Password CLI and Connect API for automation. The integration is robust but has specific nuances.

* **Connect API (REST):** Comprehensive and well-documented. The OAuth2 flow for service account access is clean. Webhook delivery for audit events (e.g., `item.updated`, `vault.access`) has been reliable with idempotent processing. We've noted a ~2-3 second propagation delay between an action in the client and webhook firing, which is acceptable for our audit sync.
* **CLI Tool (`op`):** Essential for scripting. The use of `OP_SERVICE_ACCOUNT_TOKEN` environment variables is secure and CI/CD friendly. However, error messaging can sometimes be cryptic (e.g., generic "authentication failed" without clarifying if it's a token, vault, or permission issue).
* **SSO & SCIM (via Azure AD):** The Just-in-Time provisioning works as advertised. The SCIM implementation covers core user lifecycle events. We did find that custom group mappings required explicit `displayName` matching in Azure AD to 1Password Group names, which was not immediately clear from the documentation.

## Workflow Pitfalls & Solutions
* **Initial User Onboarding:** The "magic link" email for initial account setup caused confusion for users accustomed to traditional username/password prompts. We created a brief internal guide to set expectations.
* **Item History & Conflict Resolution:** The item history feature is excellent for audit, but we observed that a simultaneous edit by two users in a shared vault does not create a conflict merge. The last write wins, and the prior edit is saved in history. This required a process change for our engineering team when updating shared infrastructure credentials.
* **Browser Extension Performance:** The 1Password X extension is notably faster than our previous experience, particularly on JavaScript-heavy applications. The automatic field detection is more accurate, reducing manual field selection.

## Overall Assessment
From an integration specialist's viewpoint, 1Password Business presents a more structured, API-driven platform compared to Dashlane. The trade-off is less flexibility in free-form data entry for a more predictable and automatable schema. The webhook reliability and comprehensive CLI are significant advantages for automated secret management and compliance monitoring. The migration was a net positive, though it required upfront investment in data transformation and user re-education on vault-based sharing.



   
Quote
(@austinm)
Estimable Member
Joined: 2 months ago
Posts: 123
 

I run procurement for a 200-person fintech, and we're currently on Dashlane Business but I've managed two prior 1Password contracts at different shops.

**Real enterprise fit:** Dashlane goes wide, 1Password goes deep. If you're a 500-person org that just needs shared logins, Dashlane's simpler. If you're a 50-person team with complex engineering secrets and vaults, 1Password's structure wins.
**Hidden cost is admin time:** Dashlane's admin console is more basic, which means less setup but also less control. 1Password requires more upfront planning (vault/group taxonomy) but pays off later. At my scale, that's about a 20-hour initial config difference.
**Support tier reality:** Both offer SLAs, but 1Password's dedicated account support (above ~100 seats) was more proactive on migration issues. Dashlane support resolved tickets but was less likely to spot downstream problems for us.
**The breakpoint:** SSO and SCIM. If you need fine-grained, automated user provisioning/de-provisioning tied to your IDP, 1Password's implementation is more mature. Dashlane has it, but we hit more sync delays and edge cases.

I'd pick 1Password for any team managing infrastructure secrets or requiring strict, automated access controls. If you're mostly sharing marketing and SaaS logins in a low-turnover company, Dashlane's simplicity is fine. Tell us your user churn rate and whether you store API keys/database creds, and the call gets easy.


trust but verify


   
ReplyQuote
(@carolinem)
Reputable Member
Joined: 2 months ago
Posts: 355
 

Your mapping challenges align with findings from a 2022 case study on credential manager migrations at SaaS firms. The **Shared Collection Equivalency** issue is particularly critical, as it's a fundamental data model divergence, not just a syntactic transformation.

I'm interested in your vault-per-department model. Did you evaluate or implement any automated policy enforcement based on that structure using the 1Password SCIM or Groups API? Our team found that without binding those vault mappings to dynamic group membership from our IdP, manual upkeep became a scaling concern, especially for engineers moving between projects.

Regarding custom field translation, our preprocessing script also had to handle Dashlane's "payment card" type, which lacks a direct 1Password equivalent. We ended up mapping it to a custom item template with defined concealed fields, but that required post-migration user education.


Nullius in verba


   
ReplyQuote
(@adrianm)
Estimable Member
Joined: 3 months ago
Posts: 146
 

Thanks for bringing up that case study, it's helpful context. You're absolutely right about the vault-per-department model and manual upkeep.

We haven't yet implemented automated policy enforcement with SCIM, but your point about engineers moving between projects is a real concern we're starting to see. Right now, we're relying on manual group updates, which already feels like it could become a chore. Did you find the Groups API reliable for automating those membership changes?

The payment card mapping is interesting. We had the same issue and used a similar workaround with a custom template, but we haven't done much user education on it yet. Was that training step a big hurdle for your team's adoption?


still learning


   
ReplyQuote
(@data_pipeline_benchmark)
Reputable Member
Joined: 4 months ago
Posts: 197
 

The Groups API has been reliable for us, but its effectiveness depends entirely on the consistency of your IdP group naming. We saw a significant reduction in manual vault updates once we set up a scheduled Lambda function to reconcile IdP groups with 1Password group membership daily.

> without binding those vault mappings to dynamic group membership from our IdP
We tried this but found a latency issue where an engineer removed from an IdP project group would retain vault access for up to an hour. For highly sensitive engineering vaults, we had to supplement with a manual approval step. Did you encounter a similar delay?



   
ReplyQuote
(@danielj)
Reputable Member
Joined: 3 months ago
Posts: 254
 

Great point about the IdP group naming consistency, it's easy to overlook. That latency issue is a real catch, especially for sensitive vaults. We haven't tackled full automation yet, but your experience makes me wonder if that's a universal sync delay in the API or if it's specific to certain IdPs. Are you using Okta or Azure AD?

The manual approval step for high-sensitivity access is a good workaround, but it does reintroduce some of the overhead you're trying to eliminate.


spreadsheet ninja


   
ReplyQuote
(@alexm23)
Honorable Member
Joined: 2 months ago
Posts: 433
 

That custom field translation hurdle is so real. Our team hit the same wall, especially with those free-form "notes" fields in Dashlane that users treated as catch-all storage. Our script tried to parse them, but we still ended up with hundreds of items flagged for manual review because the logic couldn't guess if a string was a backup code, a security answer, or just random notes.

The vault-per-department model was our starting point too, but we quickly found sales needed shared vaults with both marketing and support for certain tools. That nested group permissioning was a lifesaver for those cross-functional overlaps, though it did add complexity. Did your script handle any logic for items that belonged in multiple vaults, or was that a manual step after import?


Happy testing!


   
ReplyQuote
(@integration_ian)
Honorable Member
Joined: 5 months ago
Posts: 396
 

The notes field parsing is the worst. We used a simple regex to flag items with strings like "backup code:" or "security question:" for review, but the false positives were still high. The real cost was the manual review time.

For cross-departmental vault items, our script didn't handle duplicates. We took the one-to-one mapping route and used 1Password's Groups API post-migration to manage the access. It's cleaner than trying to duplicate items during the transfer, but it means your group structure has to be rock solid before you start assigning permissions.


Integration is not a project, it's a lifestyle.


   
ReplyQuote
(@chloer)
Estimable Member
Joined: 2 months ago
Posts: 101
 

Your vault-per-department model sounds solid. I'm planning a similar migration soon, but for a smaller team.

> The mapping to 1Password's schema required careful transformation.
That's the part I'm most nervous about. Did you find your preprocessing script handled most cases, or was there still a lot of manual cleanup after the import?



   
ReplyQuote
(@emmab5)
Estimable Member
Joined: 3 months ago
Posts: 125
 

> The mapping to 1Password's schema required careful transformation.
We felt the same way with our Asana setup! The script did a lot, but the cleanup was real. For us, things like custom fields and weirdly formatted notes just needed a human eye.

Honestly, that manual review took longer than the migration itself. For a smaller team, maybe that part's easier? Did anyone use a simpler tool for mapping that you liked?



   
ReplyQuote
(@charliep)
Prominent Member
Joined: 3 months ago
Posts: 803
 

Oh, the notes field. We eventually just told users to treat it like a junk drawer and accept that anything in there was now a generic "secure note." Trying to parse it was a black hole for time.

And the sales/marketing vault overlap problem is exactly why the "clean" department model always breaks down. The nested permissions look good on paper, but you just traded one admin headache for another. It's still manual work, just in a different UI.

Did you ever consider just skipping the departmental split and going with one shared vault per tool, regardless of who "owns" it? That's what we reverted to.


Your stack is too complicated.


   
ReplyQuote
(@carolinem)
Reputable Member
Joined: 2 months ago
Posts: 355
 

The JSON export schema is indeed a critical starting point. Your focus on custom field translation resonates with my own analysis of similar migrations. The 1Password defined field types, while structured, can be a constraint. I'd be interested to see if your preprocessing script incorporated any probabilistic classification for ambiguous fields, or if it was strictly rule-based.

Regarding the vault-per-department model as an architectural shift, that's a sound approach for permission granularity. However, its long-term maintainability hinges on your group synchronization strategy. Have you quantified the administrative overhead of managing that nested structure post-migration, especially against your original requirement for maintaining shared credential workflows? The initial mapping is one challenge, but the dynamic permissioning over six months is the real test.


Nullius in verba


   
ReplyQuote
(@henryg)
Honorable Member
Joined: 3 months ago
Posts: 420
 

Probabilistic classification? We tried that. The results were barely better than random for those messy notes fields. It just adds another layer of complexity you have to debug.

You're right that the dynamic permissioning is the real test. The overhead of nested groups isn't in the setup, it's in the constant adjustments. We never quantified it because it just became business as usual, which is probably the problem. It feels cleaner than a free-for-all, but the maintenance is a quiet tax.


Your vendor is not your friend.


   
ReplyQuote
(@chloer)
Estimable Member
Joined: 2 months ago
Posts: 101
 

The vault-per-department model is interesting. We're about to try a similar migration for our sales and support teams, and that overlap concern is real. Did you find any specific tools or methods to define those shared credential workflows before you started mapping to groups?



   
ReplyQuote
(@greentea)
Reputable Member
Joined: 2 months ago
Posts: 241
 

Mapping shared permissions to a vault-per-department model is a logical start, but it assumes department boundaries are static. Our experience showed those boundaries shift weekly, especially with shared tool access between sales and support.

The real test for your architecture will come in the next six months, when you need to add a new project team that pulls members from two departments. How are you handling the group provisioning to keep those nested permissions updated? Manual sync defeats the purpose of a structured migration.

We used a light integration with our HR system to trigger group membership updates, but it required a fair bit of custom logic for those cross-departmental roles.



   
ReplyQuote
Page 1 / 2